using NetTaste; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using OASystem.Domain.Entities.Groups; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace OASystem.Domain.ViewModels.Groups { public class OrderPreInfoView : Grp_OrderPreInfo { } public class GrpOrderPreInfoView { public int Id { get; set; } //public int TempId { get; set; } public string Name { get; set; } public int GroupId { get; set; } public GrpOrderPreItemView[] Items { get; set; } } public class GrpOrderPreItemView { 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; } private object _newValue; public object NewValue { get { if (string.IsNullOrEmpty(OriginVal)) return _newValue; if (FieldTypeName.Equals("文本")) { 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("数字")) { int.TryParse(OriginVal, out int val); if (val == 0 ) { if (_newValue != null) { int.TryParse(_newValue.ToString(), out int val1); OriginVal = val1.ToString(); } } else OriginVal = val.ToString(); return val; } 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 string Remark { get; set; } public bool IsRequired { get; set; } public bool IsRemark { get; set; } public int Index { get; set; } } }