Ejemplo n.º 1
0
        public override int Insert(FormM form, DFDictionary entity, ref string message)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(entity["ModuleId"]))
                {
                    throw new Exception("请选择模块".GetRes());
                }
                if (string.IsNullOrWhiteSpace(entity["PMenuId"]))
                {
                    throw new Exception("请选择父菜单".GetRes());
                }

                var parent   = WF_M_MENULoader.Query(entity["PMenuId"]).FirstOrDefault();
                var siblings = WF_M_MENULoader.Query(null, parent.MenuLabel).ToList();

                var newEntity = entity.To <WF_M_MENU>();
                newEntity.MenuId = Guid.NewGuid().ToString();
                var user = Util.GetCurrentUser();
                newEntity.CreateTime     = DateTime.Now;
                newEntity.CreateUser     = user.UserName;
                newEntity.LastModifyTime = DateTime.Now;
                newEntity.LastModifyUser = user.UserName;
                newEntity.MenuLabel      = LabelHelper.GetNextLabelUsingSubLabelList(parent.MenuLabel, siblings.Select(a => a.MenuLabel).ToList());

                WF_M_MENULoader.Insert(newEntity);
                message = "新增成功".GetRes();
                return(DFPub.EXECUTE_SUCCESS);
            }
            catch (Exception ex)
            {
                message = ex.Message;
                return(DFPub.EXECUTE_ERROR);
            }
        }
Ejemplo n.º 2
0
 public override int Query(FormM form, DFDictionary entity, DataGridVM vm, int start, int limit, ref string message)
 {
     if (entity["action"] == "querylist")
     {
         vm.rows = WF_M_MENULoader.Query(entity["MenuId"]);
         return(DFPub.EXECUTE_SUCCESS);
     }
     throw new Exception("无效的 action.GetRes()");
 }
Ejemplo n.º 3
0
        private List <WFTreeNode> QueryTree(DFDictionary dict)
        {
            var root  = WF_M_MENULoader.Query("ROOT").FirstOrDefault();
            var nodes = WF_M_MENULoader.Query(string.Empty).OrderBy(a => a.MenuOrder.GetValueOrDefault()).Select(a => new WFTreeNode()
            {
                pid  = a.PMenuId,
                id   = a.MenuId,
                text = string.Format("{0} {1} {2}", a.MenuOrder.GetValueOrDefault(), a.ModuleName, a.ModuleDisplayText.GetRes())
            }).ToList();
            var listStatus = JsonSerializeHelper.DeserializeObject <List <WFTreeNode> >(Base64StringHelper.ConvertFromBase64String(dict["DF_TREE_VIEWSTATE"]));
            var list       = WFTreeHelper.GenerateTree("ROOT", nodes);

            WFTreeHelper.SetStatus(list, listStatus);
            return(list);
        }
Ejemplo n.º 4
0
        public override int Update(FormM form, DFDictionary entity, ref string message)
        {
            if (entity["EditMode"] != "Edit")
            {
                return(Insert(form, entity, ref message));
            }
            try
            {
                if (string.IsNullOrWhiteSpace(entity["MenuId"]))
                {
                    throw new Exception("请传入 MenuId 参数".GetRes());
                }
                if (string.IsNullOrWhiteSpace(entity["ModuleId"]))
                {
                    throw new Exception("请选择对应的模块".GetRes());
                }
                if (string.IsNullOrWhiteSpace(entity["PMenuId"]))
                {
                    throw new Exception("请选择父菜单".GetRes());
                }
                var oldEntity = WF_M_MENULoader.Query(entity["MenuId"]).FirstOrDefault();
                if (oldEntity == null)
                {
                    throw new Exception("找不到要更新的记录".GetRes());
                }

                // 先将数据库查出来的老的实体转成字典,然后把客户端传过来的字典合并进去,这样就实现了数据的更新
                var newEntity = DFDictionary.Create <WF_M_MENU>(oldEntity).Merge(entity).To <WF_M_MENU>();
                var user      = Util.GetCurrentUser();
                var parent    = WF_M_MENULoader.Query(entity["PMenuId"]).FirstOrDefault();
                var siblings  = WF_M_MENULoader.Query(null, parent.MenuLabel).ToList();
                newEntity.MenuLabel      = LabelHelper.GetNextLabelUsingSubLabelList(parent.MenuLabel, siblings.Select(a => a.MenuLabel).ToList());
                newEntity.LastModifyTime = DateTime.Now;
                newEntity.LastModifyUser = user.UserName;
                newEntity.Expanded       = ParseHelper.ParseInt(entity["Expanded"]);

                WF_M_MENULoader.Update(newEntity);
                message = "保存成功".GetRes();
                return(DFPub.EXECUTE_SUCCESS);
            }
            catch (Exception ex)
            {
                message = ex.Message;
                return(DFPub.EXECUTE_ERROR);
            }
        }
Ejemplo n.º 5
0
 public override int Delete(FormM form, DFDictionary entity, ref string message)
 {
     try
     {
         var data = JsonSerializeHelper.DeserializeObject <List <Dictionary <string, string> > >(entity["data"]);
         if (data == null)
         {
             throw new ArgumentNullException("data");
         }
         WF_M_MENULoader.Delete(data.Select(a => a["MenuId"]).ToList());
         message = "删除成功".GetRes();
         return(DFPub.EXECUTE_SUCCESS);
     }
     catch (Exception ex)
     {
         message = ex.Message;
         return(DFPub.EXECUTE_ERROR);
     }
 }
Ejemplo n.º 6
0
 public override DFDictionary Get(FormM form, DFDictionary entity, ref string message)
 {
     try
     {
         if (!string.IsNullOrWhiteSpace(entity["MenuId"]))
         {
             var item = WF_M_MENULoader.Query(entity["MenuId"]).FirstOrDefault();
             if (item != null)
             {
                 return(DFDictionary.Create <VM_WF_M_MENU>(item));
             }
         }
     }
     catch (Exception ex)
     {
         message = ex.Message;
     }
     return(null);
 }