Пример #1
0
        //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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        //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);
        }
Пример #7
0
 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);
 }