Пример #1
0
        /// <summary>
        /// 获取一条信息记录
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public Sys_ModuleResult GetInfo(Sys_ModuleParam param)
        {
            this.CheckSession();
            Sys_ModuleResult rst = new Sys_ModuleResult();

            #region 判断
            if (param.ModuleID.ToInt32() <= 0)
            {
                throw new WarnException("请指定ID!");
            }
            #endregion
            #region 保存实体
            WhereClip where = Sys_Module._.ModuleID == param.ModuleID;
            rst             = this.Select <Sys_ModuleResult>(where);
            #region 父级菜单
            if (rst.ModuleCode.ToStringHasNull().Length > 3)
            {
                string         parentCode = rst.ModuleCode.Substring(0, rst.ModuleCode.Length - 3);
                Sys_MenuResult parMenu    = this.Select <Sys_MenuResult>(new List <Field>()
                {
                    Sys_Menu._.MenuName
                }
                                                                         , Sys_Menu._.MenuCode == parentCode);
                if (parMenu != null)
                {
                    rst.ParentMenuName = parMenu.MenuName;
                }
            }
            #endregion
            #endregion
            return(rst);
        }
Пример #2
0
        public WCFAddUpdateResult AddOrUpdate(Sys_MenuResult param)
        {
            WCFAddUpdateResult ret = new WCFAddUpdateResult();
            ExeResult          rst = new ExeResult();

            rst = this.Execute("ZNLCRM.BLL.Sys.Sys_MenuBLL", "AddOrUpdate", param);
            ret = (rst == null ? new WCFAddUpdateResult() : rst.Result as WCFAddUpdateResult);
            return(ret);
        }
Пример #3
0
        void GetMenuInfo(int menuID)
        {
            this.ShowWaitting(enuWaitMsgType.BindData);
            Sys_MenuResult info  = new Sys_MenuResult();
            Sys_MenuLogic  logic = new Sys_MenuLogic(this);

            info = logic.GetInfo(new Sys_MenuParam()
            {
                MenuID = menuID
            });
            this.ConvertEntityToControl <Sys_MenuResult>(this.grpEditMenu.Controls, info, null);
            this.HideWaitting();
        }
Пример #4
0
        public Sys_MenuResult GetInfo(Sys_MenuParam param)
        {
            Sys_MenuResult ret = new Sys_MenuResult();
            ExeResult      rst = new ExeResult();

            if (param.MenuID.ToInt32() <= 0)
            {
                this.ShowMessage("请指定要修改的记录!");
                return(ret);
            }
            rst = this.Execute("ZNLCRM.BLL.Sys.Sys_MenuBLL", "GetInfo", param);
            ret = rst == null ? new Sys_MenuResult() : rst.Result as Sys_MenuResult;
            return(ret);
        }
Пример #5
0
        /// <summary>
        /// 删除实体
        /// </summary>
        /// <param name="param">删除条件实体</param>
        /// <returns></returns>
        public WCFAddUpdateResult DelInfo(Sys_MenuParam param)
        {
            this.CheckSession();
            WCFAddUpdateResult ret = new WCFAddUpdateResult();
            int affect             = 0;

            try
            {
                #region 判断
                if (param.MenuID.ToInt32() <= 0)
                {
                    throw new WarnException("请指定要删除的菜单ID!");
                }
                #endregion
                #region 业务关联判断
                if (this.Count <Sys_Module>(Sys_Module._.MenuID == param.MenuID && Sys_Module._.IsDeleted == false) > 0)
                {
                    throw new WarnException("已发生业务关联!");
                }
                #endregion

                WhereClip where = GetWhereClip(param);
                Sys_MenuResult info = new Sys_MenuResult();
                info.IsDeleted = true;
                affect         = this.Update <Sys_MenuResult>(info, where);
                #region 设置返回值
                ret.Key = affect;
                #endregion
            }
            catch (WarnException exp)
            {
                throw exp;
            }
            catch (System.Exception exp)
            {
                LogInfoBLL.WriteLog(this.SessionInfo, exp);
            }
            return(ret);
        }
Пример #6
0
        object Form_GetEditEntity(string editName)
        {
            object ret = null;

            if (editName == "menu")
            {
                Sys_MenuResult info = new Sys_MenuResult();
                info.MenuType = "Folder";
                info          = this.ConvertControlToEntity <Sys_MenuResult>(this.grpEditMenu.Controls, info, null);
                ret           = info;
            }
            else
            {
                DevComponents.AdvTree.Node node = this.treMenu.SelectedNode;
                int menuID = 0;
                menuID = node.Tag.ToInt32();
                Sys_ModuleResult info = new Sys_ModuleResult();
                info.MenuID = menuID;
                info        = this.ConvertControlToEntity <Sys_ModuleResult>(this.grpEditModule.Controls, info, null);
                ret         = info;
            }
            return(ret);
        }
Пример #7
0
 private void btnSaveMenu_Click(object sender, EventArgs e)
 {
     Sys_MenuResult     info     = Form_GetEditEntity("menu") as Sys_MenuResult;
     Sys_MenuLogic      logic    = new Sys_MenuLogic(this);
     WCFAddUpdateResult pageList = this.AsyncExecute <WCFAddUpdateResult, Sys_MenuResult>(info, logic.AddOrUpdate, SaveComplete);
 }
Пример #8
0
        /// <summary>
        /// 添加和新增修改
        /// </summary>
        /// <param name="param">新增或修改的实体</param>
        /// <returns></returns>
        public WCFAddUpdateResult AddOrUpdate(Sys_ModuleResult param)
        {
            this.CheckSession();
            WCFAddUpdateResult ret = new WCFAddUpdateResult();

            try
            {
                int affect = 0;
                #region 判断
                if (param.ModuleName.ToStringHasNull().Trim() == "")
                {
                    throw new WarnException("请指定菜单名称!");
                }
                if (param.MenuID.ToInt32() < 0)
                {
                    throw new WarnException("请指定所属菜单!");
                }
                if (param.TargetForm.ToStringHasNull().Trim() == "")
                {
                    throw new WarnException("请指定所属目标体窗!");
                }

                string         parentCode = "";
                Sys_MenuResult menuRst    = new Sys_MenuResult();
                menuRst = this.Select <Sys_MenuResult>(Sys_Menu._.MenuID == param.MenuID);
                if (param.MenuID > 0 && (menuRst == null || menuRst.MenuCode == ""))
                {
                    throw new WarnException("菜单编号的所属菜单不存在!");
                }
                parentCode = menuRst.MenuCode;
                #endregion
                #region 生成模块编号
                int maxModuleNum = 1;
                maxModuleNum = this.Count <Sys_ModuleResult>(Sys_Module._.MenuID == param.MenuID) + 1;
                #endregion
                #region 判断重复
                WhereClip whereChk = Sys_Module._.IsDeleted == false && Sys_Module._.ModuleName == param.ModuleName;
                if (param.ModuleID > 0)
                {
                    whereChk = whereChk & Sys_Module._.ModuleID != param.ModuleID;
                }
                int chkNum = this.Count <Sys_ModuleResult>(whereChk);
                if (chkNum > 0)
                {
                    throw new WarnException("存在重复的模块名称!");
                }
                #endregion
                #region 系统默认值
                if (param.ModuleID > 0)
                {
                    if (!param.ModuleCode.StartsWith(parentCode))
                    {
                        param.ModuleCode = parentCode + maxModuleNum.ToString().PadLeft(3, '0');
                    }
                    WhereClip where = Sys_Module._.ModuleID == param.ModuleID;
                    affect          = this.Update <Sys_ModuleResult>(param, where);
                }
                else
                {
                    Sys_ModuleResult codeRulerBll = new Sys_ModuleResult();
                    param.ModuleCode = parentCode + maxModuleNum.ToString().PadLeft(3, '0');
                    param.IsDeleted  = false;
                    affect           = this.Insert <Sys_ModuleResult>(param);
                    param            = this.Select <Sys_ModuleResult>(new List <Field>()
                    {
                        Sys_Module._.ModuleID
                    }, Sys_Module._.ModuleCode == param.ModuleCode);
                }
                #region 设置返回值
                ret.Key = param.ModuleID;
                #endregion
                #endregion
            }
            catch (WarnException exp)
            {
                throw exp;
            }
            catch (System.Exception exp)
            {
                LogInfoBLL.WriteLog(this.SessionInfo, exp);
            }
            return(ret);
        }
Пример #9
0
        /// <summary>
        /// 添加和新增修改
        /// </summary>
        /// <param name="param">新增或修改的实体</param>
        /// <returns></returns>
        public WCFAddUpdateResult AddOrUpdate(Sys_MenuResult param)
        {
            this.CheckSession();
            WCFAddUpdateResult ret = new WCFAddUpdateResult();

            try
            {
                int affect = 0;
                #region 判断
                if (param.MenuCode.ToStringHasNull().Trim() == "")
                {
                    throw new WarnException("请指定菜单编号!");
                }
                if (param.MenuName.ToStringHasNull().Trim() == "")
                {
                    throw new WarnException("请指定菜单名称!");
                }
                if (param.MenuType.ToStringHasNull().Trim() == "")
                {
                    throw new WarnException("请指定菜单类型!");
                }
                if (param.MenuCode.Length % 3 > 0)
                {
                    throw new WarnException("请菜单编号为三位迭加!");
                }
                string parentCode = "";
                if (param.MenuCode.Length > 3)
                {
                    parentCode = param.MenuCode.Substring(0, param.MenuCode.Length - 3);
                }
                if (parentCode != "" && this.Count <Sys_MenuResult>(Sys_Menu._.MenuCode == parentCode) < 0)
                {
                    throw new WarnException("菜单编号的父菜单不存在!");
                }
                #endregion
                #region 判断重复
                WhereClip whereChk = Sys_Menu._.IsDeleted == false && Sys_Menu._.MenuCode == param.MenuCode;
                if (param.MenuID > 0)
                {
                    whereChk = whereChk & Sys_Menu._.MenuID != param.MenuID;
                }
                int chkNum = this.Count <Sys_MenuResult>(whereChk);
                if (chkNum > 0)
                {
                    throw new WarnException("存在重复的菜单编号!");
                }
                #endregion
                #region 系统默认值
                if (param.MenuID > 0)
                {
                    WhereClip where = Sys_Menu._.MenuID == param.MenuID;
                    affect          = this.Update <Sys_MenuResult>(param, where);
                }
                else
                {
                    Sys_MenuResult codeRulerBll = new Sys_MenuResult();
                    param.IsDeleted = false;
                    affect          = this.Insert <Sys_MenuResult>(param);
                    param           = this.Select <Sys_MenuResult>(new List <Field>()
                    {
                        Sys_Menu._.MenuID
                    }, Sys_Menu._.MenuCode == param.MenuCode);
                }
                #region 设置返回值
                ret.Key = param.MenuID;
                #endregion
                #endregion
            }
            catch (WarnException exp)
            {
                throw exp;
            }
            catch (System.Exception exp)
            {
                LogInfoBLL.WriteLog(this.SessionInfo, exp);
            }
            return(ret);
        }