//1. Get database public GridBuilderModel GetGridBuilderInfo(string parameter) { if (!string.IsNullOrEmpty(parameter)) { var splitPara = parameter.Split(','); if (splitPara.Length > 1) { Guid userId; Guid.TryParse(splitPara[0], out userId); if (userId != Guid.Empty) { if (!string.IsNullOrEmpty(splitPara[1])) { var paraModel = new GridBuilderModel() { UserID = userId, GridControlName = splitPara[1], IsGet = true}; var service = new RestServiceClient<GridBuilderModel>(UserLogin); var model = service.Post(_hrm_Hre_Service, "api/Sys_ColumnMode", paraModel); if (model != null && !string.IsNullOrEmpty(model.StringXml)) { model.StringXml = model.StringXml; model.ID = model.ID; model = GridBuilder(model, false); return model; } } } } } return null; }
public GridBuilderModel Post(GridBuilderModel model) { if (model != null) { ActionService service = new ActionService(UserLogin); List<object> lstObj = new List<object>() { model.UserID, model.GridControlName }; var status = string.Empty; var entity = service.GetDataByListParameter<Sys_ColumnModeEntity>(lstObj, ConstantSql.hrm_sys_sp_get_ColumnMode, ref status); model.ActionStatus = status; if (entity != null && model.IsGet) { model = entity.CopyData<GridBuilderModel>(); model.StringXml = entity.ColumnMode; return model; } if (!string.IsNullOrEmpty(model.StringXml)) { XmlDocument doc = JsonConvert.DeserializeXmlNode(model.StringXml); var baseService = new BaseService(); Sys_ColumnModeEntity newEntity = new Sys_ColumnModeEntity() { UserInfoID = model.UserID, GridControlName = model.GridControlName, ColumnMode = doc.InnerXml + "|" + model.PageSize }; if (entity != null) { newEntity.ID = entity.ID; baseService.Edit<Sys_ColumnModeEntity>(newEntity); } else { baseService.Add<Sys_ColumnModeEntity>(newEntity); } return model; } } return model; }
//public GridBuilderModel Put(GridBuilderModel model) //{ // if (model != null) // { // if (model.UserID != Guid.Empty && !string.IsNullOrEmpty(model.GridControlName)) // { // ActionService service = new ActionService(UserLogin); // List<object> lstObj = new List<object>() { model.UserID, model.GridControlName }; // var status = string.Empty; // var entity = service.GetDataByListParameter<Sys_ColumnModeEntity>(lstObj, // ConstantSql.hrm_sys_sp_get_ColumnMode, ref status); // if (entity != null) // { // model = entity.CopyData<GridBuilderModel>(); // model.StringXml = entity.ColumnMode; // } // model.ActionStatus = status; // return model; // } // } // return null; //} public GridBuilderModel DeleteOrRemove(string id) { var model = new GridBuilderModel(); if (!string.IsNullOrEmpty(id)) { try { var idItem = id.Split(','); var userId = idItem[0]; var gridName = idItem[1]; var service = new BaseService(); if (userId != null && gridName != null && gridName != "" && userId != "") { model.ActionStatus = service.DeleteColumMode(new Guid(userId), gridName); } } catch (Exception ex) { model.ActionStatus = NotificationType.Error + "," + ex.Message; } } return model; }
public GridBuilderModel GridBuilder(GridBuilderModel model, bool isDeser) { if (model != null && !string.IsNullOrEmpty(model.StringXml)) { var columnMode = model.StringXml; XmlDocument doc = new XmlDocument(); if (!isDeser) { var splitStringXml = model.StringXml.Split('|'); columnMode = splitStringXml[0].ToString(); if (splitStringXml.Length > 1) { var strPageSize = splitStringXml[1].ToString(); var pageSize = 0; int.TryParse(strPageSize, out pageSize); model.PageSize = pageSize; } //Chuyển xml thành json để xử lý ajax doc.LoadXml(columnMode); model.StringXml = JsonConvert.SerializeXmlNode(doc); } else { doc = JsonConvert.DeserializeXmlNode(columnMode); } //Chuyển xml thành data table để xử lý hiển thị colum trên popup DataSet ds = new DataSet(); var reader = new XmlNodeReader(doc); ds.ReadXml(reader); if (ds.Tables.Count > 0) { var table = ds.Tables[0]; var listValueFields = new List<string>(); var listLockeFields = new List<string>(); var listGroupFields = new List<string>(); var listSizeFields = new Dictionary<string, int>(); var listDisplayFields = new Dictionary<string, string>(); var listFilterFields = new Dictionary<string, bool>(); DataColumnCollection columns = table.Columns; for (int i = 0; i < table.Rows.Count; i++) { if (columns.Contains("ColumnName")) { var colum = table.Rows[i]["ColumnName"].ToString(); if (columns.Contains("Width")) { var value = table.Rows[i]["Width"].ToString(); if (!string.IsNullOrEmpty(value)) { var width = int.Parse(value); listSizeFields.Add(colum, width); } } if (columns.Contains("Locke")) { var locke = bool.Parse(table.Rows[i]["Locke"].ToString()); if (locke) { listLockeFields.Add(colum); } } if (columns.Contains("Group")) { var group = bool.Parse(table.Rows[i]["Group"].ToString()); if (group) { listGroupFields.Add(colum); } } if (columns.Contains("Filter")) { var filter = bool.Parse(table.Rows[i]["Filter"].ToString()); listFilterFields.Add(colum, filter); } listValueFields.Add(colum); listDisplayFields.Add(colum, colum.TranslateString()); } } model.ValueFields = listValueFields.ToArray(); model.SizeFields = listSizeFields; model.DisplayFields = listDisplayFields; model.LockedFields = listLockeFields.ToArray(); model.GroupFields = listGroupFields.ToArray(); model.DisplayFields = listDisplayFields; model.FilterFields = listFilterFields; } } return model; }
public GridBuilderModel PopUpChangeColum(GridBuilderModel model, Type objType) { if (model != null) { model = GridBuilder(model, true); var listValueFields = model.ValueFields; var properties = objType.GetProperties(); var columns = new Dictionary<string, string>(); foreach (var property in properties) { if (listValueFields == null || !listValueFields.Contains(property.Name)) { columns.Add(property.Name, property.Name.TranslateString()); } } model.Columns = columns; } return model; }
public ActionResult Index(GridBuilderModel model) { if (model != null) { if (!string.IsNullOrEmpty(model.ObjectName)) { var objName = model.ObjectName; string assembly = null; if (objName.StartsWith("Hre")) { assembly = "HRM.Presentation.Hr.Models"; } else if (objName.StartsWith("FIN")) { assembly = "HRM.Presentation.Hr.Models"; } else if (objName.StartsWith("Att")) { assembly = "HRM.Presentation.Attendance.Models"; } else if (objName.StartsWith("Cat")) { assembly = "HRM.Presentation.Category.Models"; } else if (objName.StartsWith("Rec")) { assembly = "HRM.Presentation.Recruitment.Models"; } else if (objName.StartsWith("Tra")) { assembly = "HRM.Presentation.Training.Models"; } else if (objName.StartsWith("Sal")) { assembly = "HRM.Presentation.Payroll.Models"; } else if (objName.StartsWith("Kai")) { assembly = "HRM.Presentation.Payroll.Models"; } else if (objName.StartsWith("Ins")) { assembly = "HRM.Presentation.Insurance.Models"; } else if (objName.StartsWith("Eva")) { assembly = "HRM.Presentation.Evaluation.Models"; } Type objType = GetTypeByName(assembly, objName); model = PopUpChangeColum(model, objType); } } return View(model); }
public GridBuilderModel SaveGridBuilderInfo(Guid? userId, string gridColumnName, string columnMode, int pageSize) { if (userId != null && userId != Guid.Empty && !string.IsNullOrEmpty(gridColumnName)) { GridBuilderModel model = new GridBuilderModel() { UserID = (Guid)userId, GridControlName = gridColumnName, StringXml = columnMode, PageSize = pageSize }; var service = new RestServiceClient<GridBuilderModel>(UserLogin); return service.Post(_hrm_Hre_Service, "api/Sys_ColumnMode", model); } return null; }