using Newtonsoft.Json; using Newtonsoft.Json.Linq; using OASystem.Domain.Entities.Groups; using System; 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("文本")) { return OriginVal; } else if (FieldTypeName.Equals("搜索框")) { var val = Array.Empty(); string regexPattern = @"^\s*\{[\s\S]*\}\s*$"; bool isValid = Regex.IsMatch(OriginVal, regexPattern); try { if (isValid) { val = JsonConvert.DeserializeObject(OriginVal); } return val; } catch (Exception) { return val; } } else if (FieldTypeName.Equals("下拉选择框") || FieldTypeName.Equals("复选框") || FieldTypeName.Equals("数字")) { int.TryParse(OriginVal, out int val); OriginVal = val.ToString(); return val; } else if (FieldTypeName.Equals("单选按钮")) { var val = "无"; if (OriginVal.ToUpper().Equals("TRUE") || OriginVal.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; } } }