예제 #1
0
        public override int Insert(FormM form, DFDictionary entity, ref string message)
        {
            var item = Get(GetSelectSql("WF_M_DEPT"), new { DeptId = entity["DeptId"] });

            if (item != null)
            {
                throw new WFException("记录已经存在".GetRes());
            }
            CheckInput(form, entity);
            var newEntity = entity;

            CheckData("WF_M_DEPT", newEntity, Util.GetCurrentUser().UserName);

            var parent   = WF_M_DEPTLoader.Query(newEntity["PDeptId"]).FirstOrDefault();
            var siblings = WF_M_DEPTLoader.Query(null, null, parent.DeptLabel).ToList();

            newEntity.Add("DeptLabel", LabelHelper.GetNextLabelUsingSubLabelList(parent.DeptLabel, siblings.Select(a => a.DeptLabel).ToList()));

            SaveData("WF_M_DEPT", newEntity, IMPORT_TYPE_INSERT);

            var sb = new System.Text.StringBuilder(DFPub.DF_SCRIPT);

            sb.AppendFormat("alert('保存成功');".GetRes());
            sb.AppendFormat("closeSelfDialog();");
            message = sb.ToString();

            return(DFPub.EXECUTE_SUCCESS);
        }
예제 #2
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);
            }
        }
예제 #3
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);
            }
        }
예제 #4
0
        public override int Update(FormM form, DFDictionary entity, ref string message)
        {
            var oldEntity = Get(GetSelectSql("WF_M_DEPT"), new { DeptId = entity["DeptId"] });

            if (oldEntity == null)
            {
                return(Insert(form, entity, ref message));
            }
            CheckInput(form, entity);
            var newEntity = oldEntity.ToDFDictionary().Merge(entity);

            CheckData("WF_M_DEPT", newEntity, Util.GetCurrentUser().UserName);

            var parent   = WF_M_DEPTLoader.Query(newEntity["PDeptId"]).FirstOrDefault();
            var siblings = WF_M_DEPTLoader.Query(null, null, parent.DeptLabel).ToList();

            newEntity.Add("DeptLabel", LabelHelper.GetNextLabelUsingSubLabelList(parent.DeptLabel, siblings.Select(a => a.DeptLabel).ToList()));

            SaveData("WF_M_DEPT", newEntity, IMPORT_TYPE_UPDATE);

            message = "保存成功".GetRes();
            return(DFPub.EXECUTE_SUCCESS);
        }