using Newtonsoft.Json; using OASystem.Domain.Entities.Groups; using System.Collections; namespace OASystem.Domain.ViewModels.Groups { public class OrderPreInfoView : Grp_OrderPreInfo { } public class GroupOrderPreInfoListView { public int Id { get; set; } public string Name { get; set; } public string UnitName { get; set; } public string VisitCountryVal { get; set; } public string VisitCountrys { get { var val = "-"; try { var countryArr = JsonConvert.DeserializeObject(VisitCountryVal); if (countryArr.Any()) val = string.Join("、", countryArr); } catch (Exception) { } return val; } } public string VisitDays { get; set; } = "0"; public string VisiPpNum { get; set; } = "0"; public object[] VersionDetails { get; set; } public string Operator { get; set; } public DateTime OperationTime { get; set; } } public class GrpOrderPreInfoBasicView { public int Id { get; set; } //public int TempId { get; set; } public string Name { get; set; } public int GroupId { get; set; } } public class GrpOrderPreInfoView: GrpOrderPreInfoBasicView { public GrpOrderPreItemView[] Items { get; set; } } public class GrpOrderPreInfoMobileView : GrpOrderPreInfoBasicView { public GrpOrderPreItemMobileView[] Items { get; set; } } public class GrpOrderPreItemBasicView { public int Id { get; set; } public int ParentId { get; set; } public int FieldTempId { get; set; } public string FieldName { get; set; } public string FieldTypeName { get; set; } public string OriginVal { get; set; } public string Remark { get; set; } public bool IsRequired { get; set; } public bool IsRemark { get; set; } public int Index { get; set; } } public class GrpOrderPreItemView: GrpOrderPreItemBasicView { private object _newValue; public object NewValue { get { if (string.IsNullOrEmpty(OriginVal)) return _newValue; if (FieldTypeName.Equals("文本")) { if (_newValue != null) { OriginVal = _newValue.ToString(); } if (OriginVal.Equals("-")) return _newValue; return OriginVal; } else if (FieldTypeName.Equals("搜索框")) { if (_newValue != null) { if (_newValue is Array) { return (Array)_newValue; } else if (_newValue is string[]) { return (string[])_newValue; } else if (_newValue is IEnumerable) { return ((IEnumerable)_newValue).Cast().Select(x => x.ToString()).ToArray(); } else { return _newValue; } } var val = Array.Empty(); try { return JsonConvert.DeserializeObject(OriginVal); } catch (Exception) { return val; } } else if (FieldTypeName.Equals("下拉选择框") || FieldTypeName.Equals("复选框") || FieldTypeName.Equals("数字")) { var val = 0; if (_newValue != null) { int.TryParse(_newValue.ToString(), out int val1); OriginVal = val1.ToString(); val = val1; } else { int.TryParse(OriginVal, out int val2); OriginVal = val2.ToString(); val = val2; } return OriginVal; } else if (FieldTypeName.Equals("单选按钮")) { var val = "无"; if (OriginVal.Equals("有")) val = "有"; if (_newValue != null) { if (_newValue.ToString().Equals("有")) val = "有"; } OriginVal = val; return val; } return null; } set { _newValue = value; } } } public class GrpOrderPreItemMobileView : GrpOrderPreItemBasicView { private object _newValue; public object NewValue { get { if (string.IsNullOrEmpty(OriginVal)) return _newValue.ToString(); if (FieldTypeName.Equals("文本")) { if (_newValue != null) { OriginVal = _newValue.ToString(); } if (OriginVal.Equals("-")) return _newValue == null ? "" : _newValue.ToString(); return OriginVal; } else if (FieldTypeName.Equals("搜索框")) { if (_newValue != null) { if (_newValue is Array) { return string.Join(",", (Array)_newValue); } else if (_newValue is string[]) { return string.Join(",", (string[])_newValue); } else if (_newValue is IEnumerable) { return string.Join(",", ((IEnumerable)_newValue).Cast().Select(x => x.ToString()).ToArray()); } else { return _newValue.ToString(); } } var val = Array.Empty(); try { return string.Join(",", JsonConvert.DeserializeObject(OriginVal)); } catch (Exception) { return ""; } } else if (FieldTypeName.Equals("下拉选择框") || FieldTypeName.Equals("复选框") || FieldTypeName.Equals("数字")) { if (_newValue != null) { int.TryParse(_newValue.ToString(), out int val); OriginVal = val.ToString(); } else { int.TryParse(OriginVal, out int val); OriginVal = val.ToString(); } return OriginVal; } else if (FieldTypeName.Equals("单选按钮")) { var val = "无"; if (OriginVal.Equals("有")) val = "有"; if (_newValue != null) { if (_newValue.ToString().Equals("有")) val = "有"; } OriginVal = val; return OriginVal; } return ""; } set { _newValue = value; } } } }