/// <summary> /// Hàm lưu một đối tượng cần phải thiết lập một cách hiện thị mới /// </summary> public static ConfigDisplayInfo SaveConfigDisplayInfoData(ConfigDisplayInfoModel model, out string sMessage) { sMessage = ""; var returnData = new ConfigDisplayInfo(); try { using (var db = new Ajuma_devEntities()) { var dataTable = db.ConfigDisplayInfoes.ToList(); returnData = dataTable.Where(c => c.Entity == model.Entity && c.ScreenCode == model.ScreenCode && c.UserType == model.UserType).FirstOrDefault(); if (returnData == null) { returnData = db.ConfigDisplayInfoes.Add(new ConfigDisplayInfo() { Entity = model.Entity, ScreenCode = model.ScreenCode, UserType = model.UserType }); db.SaveChanges(); } } } catch (Exception ex) { sMessage = ex.Message; } return(returnData); }
static void Main(string[] args) { // Phần này dùng để insert, update cho một entity, screen và user string jsonString = File.ReadAllText(@"D:\www\DisplayInfoHelper\Input\Input_1.json"); var dataInput = JsonConvert.DeserializeObject <ConfigDisplayInfoModel>(jsonString); string sMessage = string.Empty; var data = GetConfigDisplayInfoData(dataInput, out sMessage); if (data == null) { data = SaveConfigDisplayInfoData(dataInput, out sMessage); } var dataConfigDisplayInfoDetail = new ConfigDisplayInfoDetailModel() { ConfigDisplayInfoId = data.Id.ToString(), fConvert = "hihi", Fields = File.ReadAllText(@"D:\www\DisplayInfoHelper\Input\Fields_1.json") }; InsertOrUpdateDisplayInfoDetail(dataConfigDisplayInfoDetail, out sMessage); // Phần này đi lấy tên hiện thị var model = new ConfigDisplayInfoModel() { Entity = data.Entity, ScreenCode = "1", UserType = data.UserType }; var DisplayName = GetDisplayName(model, out sMessage); Console.WriteLine(sMessage); Console.ReadLine(); }
public static Dictionary <string, string> GetDisplayName(ConfigDisplayInfoModel model, out string sMessage) { sMessage = ""; var result = new Dictionary <string, string>(); try { var data = GetConfigDisplayInfoData(model, out sMessage); string[] fields = { }; if (data == null) { fields = FieldDefaults; } else { var dataDetail = GetConfigDisplayInfoDetailData(data.Id, out sMessage); if (dataDetail == null) { fields = FieldDefaults; } else { fields = JsonConvert.DeserializeObject <FieldsModel>(dataDetail.Fields).fields; } } Console.OutputEncoding = Encoding.UTF8; using (var db = new Ajuma_devEntities()) { var dbSet = GetDbSetByName(db, data.Entity, out sMessage); foreach (var sItem in dbSet) { string displayName = string.Empty; foreach (var field in fields) { var propertyInfo = sItem.GetType().GetProperty(field); if (propertyInfo != null) { displayName += propertyInfo.GetValue(sItem) + " - "; } } var Id = sItem.GetType().GetProperty("Id").GetValue(sItem).ToString(); result.Add(Id, displayName); Console.WriteLine(displayName); } } } catch (Exception ex) { if (sMessage == "") { sMessage = ex.Message; } } return(result); }