コード例 #1
0
        /// <summary>
        /// 更新SysMenu信息
        /// </summary>
        public static void UpdateSysMenu(SysMenu entity)
        {
            DataCommand cmd = new DataCommand("UpdateSysMenu");

            cmd.SetParameter <SysMenu>(entity);
            cmd.ExecuteNonQuery();
        }
コード例 #2
0
        /// <summary>
        /// 添加部门信息
        /// </summary>
        /// <param name="parm"></param>
        /// <returns></returns>
        public async Task <ApiResult <string> > AddAsync(SysMenu parm)
        {
            parm.Guid     = Guid.NewGuid().ToString();
            parm.EditTime = DateTime.Now;
            parm.AddTIme  = DateTime.Now;
            SysMenuDb.Insert(parm);
            if (!string.IsNullOrEmpty(parm.ParentGuid))
            {
                // 说明有父级  根据父级,查询对应的模型
                var model = SysMenuDb.GetById(parm.ParentGuid);
                parm.ParentGuidList = model.ParentGuidList + parm.Guid + ",";
                parm.Layer          = model.Layer + 1;
            }
            else
            {
                parm.ParentGuidList = "," + parm.Guid + ",";
                parm.Layer          = 1;
            }
            //更新  新的对象
            SysMenuDb.Update(parm);
            var res = new ApiResult <string>
            {
                statusCode = 200,
                data       = "1"
            };

            return(await Task.Run(() => res));
        }
コード例 #3
0
        public async Task <JsonResult> Post([FromBody] SysMenu sysMenu)
        {
            try
            {
                var menu = await dbContext.SysMenus.AddAsync(new SysMenu
                {
                    Icon   = sysMenu.Icon,
                    Jump   = sysMenu.Jump,
                    Name   = sysMenu.Name,
                    PId    = sysMenu.PId,
                    Remark = sysMenu.Remark,
                    Title  = sysMenu.Title
                });

                if (menu.State.Equals(EntityState.Added))
                {
                    return(new JsonResult(new RespResult {
                        Code = (int)RespState.SUCCESS, Msg = "菜单添加成功", Data = menu.Entity
                    }));
                }
                return(new JsonResult(new RespResult {
                    Code = (int)RespState.ERROR, Success = false, Msg = "菜单添加失败"
                }));
            }
            catch (Exception ex)
            {
                return(new JsonResult(new RespResult {
                    Code = 300, Success = false, Msg = ex.Message
                }));
            }
        }
コード例 #4
0
        /// <summary>
        /// 创建一个菜单
        /// </summary>
        /// <param name="validationErrors">返回的错误信息</param>
        /// <param name="db">数据库上下文</param>
        /// <param name="entity">一个菜单</param>
        /// <returns></returns>
        public bool Create(ref ValidationErrors validationErrors, SysEntities db, SysMenu entity)
        {
            int count = 1;

            foreach (string item in entity.SysOperationId.GetIdSort())
            {
                SysOperation sys = new SysOperation {
                    Id = item
                };
                db.SysOperation.Attach(sys);
                entity.SysOperation.Add(sys);
                count++;
            }

            repository.Create(db, entity);
            if (count == repository.Save(db))
            {
                //创建后重置菜单编码
                List <int> flags = new List <int>();//层级
                GetMenus2(null, flags);
                db.SaveChanges();
                return(true);
            }
            else
            {
                validationErrors.Add("创建出错了");
            }
            return(false);
        }
コード例 #5
0
        /// <summary>
        /// 根据栏目生成子目录
        /// </summary>
        /// <param name="drs">栏目</param>
        /// <param name="dt">目录树的表</param>
        /// <param name="roleID">角色ID</param>
        /// <param name="isOpt">是否获取权限(true:是;false:否)</param>
        /// <returns></returns>
        private List <SysMenu> bindChildrenMenu(List <ORG_Menu> drs, List <ORG_Menu> dt, string nodeID, bool isOpt, int id, string type)
        {
            //IBLL.IORG_MenuBLL bll = new BLL.ORG_MenuBLL();
            List <SysMenu> list = new List <SysMenu>();

            if (drs.Count() == 0)
            {
                return(list);
            }
            foreach (ORG_Menu dr in drs)
            {
                if (nodeID == null || nodeID.Split(':').Contains(dr.ID.ToString()))
                {
                    SysMenu tr = new SysMenu();
                    tr.id                       = dr.ID;
                    tr.ParentID                 = dr.ParentID;
                    tr.name                     = dr.MenuName;
                    tr.NodeLevel                = dr.NodeLevel;
                    tr.DepartmentAuthority      = dr.DepartmentAuthority;
                    tr.DepartmentScopeAuthority = dr.DepartmentScopeAuthority;
                    //tr.MType = Convert.ToInt32(dr["MType"]);

                    // 获取子目录
                    tr.children = bindChildrenMenu(dt.Where(c => c.ParentID == tr.id).ToList(), dt, nodeID, isOpt, id, type);
                    tr.open     = true;
                    //若需要获取菜单权限,则同时获取菜单相关操作的权限
                    if (isOpt)
                    {
                        GetChecked(id, type, ref tr);
                    }
                    list.Add(tr);
                }
            }
            return(list);
        }
コード例 #6
0
ファイル: CacheHelper.cs プロジェクト: sd009896/CustomerMall
        public static string[] GetALLModuleCodes(HttpContext context)
        {
            string[] modulecodes = null;
            var      cache       = HttpRuntime.Cache;

            //string self_all_modulecodes_key = all_modulecodes_key + "_" + GetUser(context).UserID;
            if (cache.Get(all_modulecodes_key) != null)
            {
                modulecodes = cache.Get(all_modulecodes_key) as string[];
            }
            else
            {
                string    base_url = WebUtil.GetContextPath();
                string    errormsg = string.Empty;
                SysMenu[] list     = new SysMenu[] { };
                bool      result   = EncryptHelper.GetSysMenuList(base_url, WebUtil.GetFromCompanyID(context), out errormsg, out list);
                if (result)
                {
                    if (list.Length > 0)
                    {
                        modulecodes = list.Select(p => p.ModuleCode).ToArray();
                    }
                }
                else
                {
                    modulecodes = new string[] { "无" };
                }
            }
            if (modulecodes != null)
            {
                cache.Insert(all_modulecodes_key, modulecodes);
            }
            return(modulecodes);
        }
コード例 #7
0
        public JsonResult DropMenu()
        {
            var sysMenuDal = flexibleContext.GetService <SysMenuDal>();

            string  dragAction = Request.GetString("dragAction");
            SysMenu dragNode   = Request.Get <SysMenu>("dragNode");
            SysMenu sourceNode = sysMenuDal.GetModel(dragNode.ID);
            SysMenu targetNode = Request.Get <SysMenu>("targetNode");


            switch (dragAction)
            {
            case "before":

                sourceNode.SortNo   = targetNode.SortNo - 0.1m;
                sourceNode.ParentID = targetNode.ParentID;
                sysMenuDal.Update(sourceNode, x => x.ID);
                break;

            case "after":

                sourceNode.SortNo   = targetNode.SortNo + 0.1m;
                sourceNode.ParentID = targetNode.ParentID;
                sysMenuDal.Update(sourceNode, x => x.ID);
                break;

            case "add":

                sourceNode.ParentID = targetNode.ID;
                sysMenuDal.Update(sourceNode, x => x.ID);
                break;
            }

            return(Json(new { }));
        }
コード例 #8
0
ファイル: MenuParseService.cs プロジェクト: Zero7q/Agile
        public void InitializeMenus()
        {
            var assemblies = ((WebAppTypeFinder)_typeFinder).GetAssemblies();

            if (assemblies == null)
            {
                throw new ArgumentNullException(nameof(assemblies));
            }
            var allAssemblyTypes = assemblies.Select(assembly => assembly.GetTypes());

            foreach (var assemblyTypes in allAssemblyTypes)
            {
                foreach (var assemblyType in assemblyTypes)
                {
                    if (assemblyType.IsDefined(typeof(MenuAttribute), false))
                    {
                        var attribute = Attribute.GetCustomAttribute(assemblyType, typeof(MenuAttribute), false);
                        if (attribute != null)
                        {
                            var menuAttribute = (MenuAttribute)attribute;
                            if (menuAttribute != null && !string.IsNullOrWhiteSpace(menuAttribute.Name))
                            {
                                SysMenu parentMenu = null;
                                var     menusItems = menuAttribute.Name.Split('|');
                                if (menusItems != null && menusItems.Length > 0)
                                {
                                    for (int i = 0; i < menusItems.Length; i++)
                                    {
                                        bool   isLastNode = i == menusItems.Length - 1 ? true : false;
                                        string menu       = menusItems[i];
                                        string node       = (menu + i).ToString();
                                        var    predicate  = Predicates.Field <SysMenu>(f => f.Node, Operator.Eq, node);
                                        var    menuModel  = _menuService.GetByCondition(predicate);
                                        if (menuModel != null)
                                        {
                                            parentMenu = menuModel;
                                        }
                                        else
                                        {
                                            string url      = isLastNode == true ? menuAttribute.Url : "javascript:;";
                                            var    menuItem = new SysMenu();
                                            menuItem.ParentId   = parentMenu == null ? -1 : parentMenu.Id;
                                            menuItem.Node       = node;
                                            menuItem.Name       = menu;
                                            menuItem.Icon       = menuAttribute.Icon;
                                            menuItem.Type       = menuAttribute.Type;
                                            menuItem.Url        = url;
                                            menuItem.CreateTime = DateTime.Now;
                                            menuItem.IsEnabled  = EnabledType.True;
                                            _menuService.Insert(menuItem);
                                            parentMenu = menuItem;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #9
0
        public JsonResult Edit(SysMenu model)
        {
            try
            {
                if (model.SysMenuId > 0)
                {
                    var entity = _sysMenuService.GetById(model.SysMenuId);
                    //修改
                    entity.Icon       = model.Icon;
                    entity.CreateTime = DateTime.Now;
                    entity.Name       = model.Name;
                    entity.Url        = model.Url;
                    entity.Fid        = model.Fid;
                    _sysMenuService.Update(entity);
                }
                else
                {
                    //if (_sysMenuService.IsExistName(model.Name, model.Type))
                    //    return Json(new { Status = Successed.Repeat }, JsonRequestBehavior.AllowGet);
                    //添加
                    model.Status     = (int)EnumHelp.EnabledEnum.效;
                    model.CreateTime = DateTime.Now;
                    model.EditTime   = DateTime.Now;

                    _sysMenuService.Insert(model);
                }
                return(Json(new { Status = Successed.Ok }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(new { Status = Successed.Error }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #10
0
ファイル: SysMenuService.cs プロジェクト: wpmyj/LC
 /// <summary>
 /// 删除父级菜单权限关联
 /// </summary>
 /// <param name="sysRight">权限</param>
 /// <param name="delMenu">菜单</param>
 private void DeleteRightParentMenu(SysRight sysRight, SysMenu delMenu)
 {
     //SysRightMenu sysRightMenu = new SysRightMenu();
     //bool canDeleteParent = true;
     //List<SysMenu> subMenuList = delMenu.ParentMenu.SubMenus.ToList();
     //foreach (SysMenu subMenu in subMenuList)
     //{
     //    if (subMenu.id == delMenu.id)
     //        continue;
     //    else
     //    {
     //        sysRightMenu = _sysRightMenuDal.Single(s => s.menu_id == subMenu.id && s.right_id == sysRight.id).Entity;
     //        if (sysRightMenu != null)
     //        {
     //            //存在该菜单父菜单的其他子菜单关联
     //            canDeleteParent = false;
     //            break;
     //        }
     //    }
     //}
     //if (canDeleteParent)
     //{
     //    //可以删除父菜单,则调用自身持续判断
     //    if (delMenu.ParentMenu.ParentMenu != null)
     //    {
     //        DeleteRightParentMenu(sysRight, delMenu.ParentMenu);
     //    }
     //    //退出后获得该关联项,加入删除
     //    sysRightMenu = _sysRightMenuDal.Single(s => s.menu_id == delMenu.ParentMenu.id && s.right_id == sysRight.id).Entity;
     //    _unitOfWork.AddAction(sysRightMenu, DataActions.Delete);
     //}
 }
コード例 #11
0
 public bool InsertMenu(MenuModel model)
 {
     try
     {
         var mn = new SysMenu
         {
             ID   = Guid.NewGuid(),
             Name = model.Name,
             //MasterMenu = new Guid(model.MasterMenu)
         };
         if (model.ParentID != null)
         {
             mn.ParentID = new Guid(model.ParentID);
         }
         mn.Sequence   = model.Sequence;
         mn.Controller = model.Controller;
         mn.Action     = model.Action;
         mn.Actived    = true;
         mn.CreateUID  = new Guid(model.ModifyUID);
         mn.CreateDate = DateTime.Now;
         mn.Icon       = model.Icon;
         mn.Param      = model.Param;
         _db.SysMenu.Add(mn);
         _db.SaveChanges();
         return(true);
     }
     catch (Exception ex)
     {
         LogHelper.Error("MenuRepository insert: " + ex.Message + " Inner Exception: " + ex.InnerException.Message);
         return(false);
     }
 }
コード例 #12
0
ファイル: FrmDashboard.cs プロジェクト: nccong207/ABVN
 public FrmDashboard(SysMenu sysMenu, bool isReminder)
 {
     InitializeComponent();
     _sysMenu    = sysMenu;
     _isReminder = isReminder;
     if (_isReminder)
     {
         this.Text            = Config.GetValue("Language").ToString() == "0" ? "Hệ thống nhắc nhở" : "Notification";
         lciPeriod.Visibility = LayoutVisibility.Never;
         lciValue.Visibility  = LayoutVisibility.Never;
         esiPeriod.Visibility = LayoutVisibility.Never;
         RefreshDb();
         object  o = Config.GetValue("PhutNhacNho");
         decimal d = 0;
         if (o != null && Decimal.TryParse(o.ToString(), out d))
         {
             timer1.Interval = (int)(60000 * d);
             timer1.Start();
         }
     }
     else
     {
         cboPeriod.SelectedIndex = 4;
     }
     if (Config.GetValue("Language").ToString() != "0")
     {
         FormFactory.DevLocalizer.Translate(this);
     }
 }
コード例 #13
0
        public async Task <int> DeleteMenu(SysMenu menu, CancellationToken cancellationToken = default)
        {
            int result = 0;

            var tran = await _unitOfWork.BeginTransactionAsync();

            try
            {
                await _menuRepository.DeleteRangeAsync(x => x.PCodes.Contains($"[{menu.Code}]"));

                await _menuRepository.DeleteAsync(new[] { menu.ID });

                await tran.CommitAsync();

                result = 1;
            }
            catch (Exception ex)
            {
                await tran.RollbackAsync();

                throw ex;
            }

            return(await Task.FromResult(result));
        }
コード例 #14
0
        /// <summary>
        /// 注销
        /// </summary>
        /// <returns></returns>
        //public ResponseBase Logout()
        //{
        //    var rp = new ResponseBase();
        //    rp.IsLogin = false;
        //    rp.IsSuccess = false;
        //    rp.OperationDesc = "退出登录";
        //    WriteLogInfo("用户:" + GetCurrentUser().UserName + ", 退出系统");
        //    PerRequestManager.RemoveValue("CurrentUserID");
        //    return rp;
        //}
        #endregion

        #region 菜单
        /// <summary>
        ///     创建一个新的菜单
        /// </summary>
        /// <param name="sysMenuDto"></param>
        /// <returns></returns>
        public ResponseBase CreateSysMenu(SysMenuDto sysMenuDto)
        {
            var response = ValidationMenu(sysMenuDto);

            if (response.IsSuccess)
            {
                try
                {
                    using (var transactionScope = new TransactionScope())
                    {
                        var sysMenu = new SysMenu();
                        sysMenu.Inject(sysMenuDto);
                        var result = SystemRepo.CreateSysMenu(sysMenuDto);
                        transactionScope.Complete();
                        response.IsSuccess = true;
                    }
                }
                catch (Exception ex)
                {
                    response.IsSuccess = false;
                    WriteLogException(ex);
                }
            }
            response.OperationDesc = "添加菜单" + (response.IsSuccess ? "成功" : "失败");
            return(response);
        }
コード例 #15
0
ファイル: MenuModel.cs プロジェクト: 123445666/PHNC
 public MenuModel(SysMenu SysMenu)
 {
     this.Id = SysMenu.Id;
     this.Name = SysMenu.Name;
     this.ActionCode = SysMenu.ActionCode;
     this.Area = SysMenu.Area;
     this.Controller = SysMenu.Controller;
     this.Action = SysMenu.Action;
     this.Params = SysMenu.Params;
     this.Pram1 = SysMenu.Pram1;
     this.Pram2 = SysMenu.Pram2;
     this.Pram3 = SysMenu.Pram3;
     this.QuerryString = SysMenu.QuerryString;
     this.ParentId = SysMenu.ParentId;
     this.Order = SysMenu.Order;
     this.Description = SysMenu.Description;
     this.MenuType = SysMenu.MenuType;
     this.SysAction = SysMenu.SysAction;
     this.SysMenu1 = SysMenu.SysMenu1;
     this.SysMenu2 = SysMenu.SysMenu2;
     this.Icon = SysMenu.Icon;
     this.CreateBy = SysMenu.CreateBy;
     this.CreateDate = SysMenu.CreateDate;
     this.ModifyBy = SysMenu.ModifyBy;
     this.ModifyDate = SysMenu.ModifyDate;
 }
コード例 #16
0
ファイル: SysMenuController.cs プロジェクト: liuxiaoqu/HeXiao
        public ActionResult Create(SysMenu entity)
        {
            if (entity != null && ModelState.IsValid)
            {
                string currentPerson = GetCurrentPerson();
                entity.CreateTime   = DateTime.Now; entity.Id = Result.GetNewId();
                entity.CreatePerson = currentPerson;

                entity.Id = Result.GetNewId();
                string returnValue = string.Empty;
                if (m_BLL.Create(ref validationErrors, entity))
                {
                    LogClassModels.WriteServiceLog(Suggestion.InsertSucceed + ",菜单的信息的Id为" + entity.Id, "菜单"
                                                   );//写入日志
                    App.Codes.MenuCaching.ClearCache();
                    return(Json(Suggestion.InsertSucceed));
                }
                else
                {
                    if (validationErrors != null && validationErrors.Count > 0)
                    {
                        validationErrors.All(a =>
                        {
                            returnValue += a.ErrorMessage;
                            return(true);
                        });
                    }
                    LogClassModels.WriteServiceLog(Suggestion.InsertFail + ",菜单的信息," + returnValue, "菜单"
                                                   );                  //写入日志
                    return(Json(Suggestion.InsertFail + returnValue)); //提示插入失败
                }
            }

            return(Json(Suggestion.InsertFail + ",请核对输入的数据的格式")); //提示输入的数据的格式不对
        }
コード例 #17
0
        public CustomJsonResult Add(string pOperater, RopSysMenuAdd rop)
        {
            var sysMenu = new SysMenu();

            sysMenu.Id          = GuidUtil.New();
            sysMenu.Name        = rop.Name;
            sysMenu.Url         = rop.Url;
            sysMenu.Description = rop.Description;
            sysMenu.PId         = rop.PMenuId;
            sysMenu.IsCanDelete = true;
            sysMenu.Creator     = pOperater;
            sysMenu.CreateTime  = DateTime.Now;
            CurrentDb.SysMenu.Add(sysMenu);
            CurrentDb.SaveChanges();

            if (rop.PermissionIds != null)
            {
                foreach (var id in rop.PermissionIds)
                {
                    CurrentDb.SysMenuPermission.Add(new SysMenuPermission {
                        Id = GuidUtil.New(), MenuId = sysMenu.Id, PermissionId = id, Creator = pOperater, CreateTime = DateTime.Now
                    });
                }
            }

            CurrentDb.SaveChanges();

            return(new CustomJsonResult(ResultType.Success, ResultCode.Success, "添加成功"));
        }
コード例 #18
0
        public ActionResultVM SaveSysMenu(SysMenu mo, string savetype)
        {
            var vm = new ActionResultVM();

            if (string.IsNullOrWhiteSpace(mo.SmPid))
            {
                mo.SmPid = Guid.Empty.ToString();
            }
            using (var db = new ContextBase())
            {
                if (savetype == "add")
                {
                    mo.SmId = Guid.NewGuid().ToString();
                    db.SysMenu.Add(mo);
                }
                else
                {
                    db.SysMenu.Update(mo);
                }
                int num = db.SaveChanges();

                vm.Set(num > 0);
            }

            //清理缓存
            Core.CacheTo.Remove(Func.Common.GlobalCacheKey.SysMenu);

            return(vm);
        }
コード例 #19
0
        public async Task <IActionResult> List(string searchContent, string seniorQueryJson, int page = 1, int limit = 10, string sidx = "CreateDt", string sord = "desc")
        {
            try
            {
                SysMenu query = null;
                if (!string.IsNullOrEmpty(seniorQueryJson))
                {
                    query = Newtonsoft.Json.JsonConvert.DeserializeObject <SysMenu>(seniorQueryJson);
                }
                System.Linq.Expressions.Expression <Func <SysMenu, bool> > predicate = ExpressionBuilder.True <SysMenu>();
                predicate = predicate.And(b => b.Id > 0);

                if (searchContent != null)
                {
                    predicate = predicate.And(b => b.MenuName.IndexOf(searchContent) != -1);
                }
                if (query.ParentID != null)
                {
                    predicate = predicate.And(b => b.ParentID == query.ParentID);
                }
                PageInfo pageinfo = new PageInfo {
                };
                (List <SysMenu> list, long count)datas = await new SysMenuDAL().QueryAsync(predicate, null, pageinfo);

                var lists = datas.list;
                return(lists.GetJson <SysMenu>(sidx, sord, page, limit, SysTool.GetPropertyNameArray <SysMenu>()));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #20
0
        void menu_Click(object sender, EventArgs e)
        {
            ToolStripItem tsi   = sender as ToolStripItem;
            SysMenu       sMenu = tsi.Tag as SysMenu;

            ExecScript(sMenu.Clickeventfunc, new object[] { JsonConvert.SerializeObject(sMenu) });
        }
コード例 #21
0
ファイル: SysMenuBLL.cs プロジェクト: dreign/rights
        /// <summary>
        /// 创建一个菜单
        /// </summary>
        /// <param name="validationErrors">返回的错误信息</param>
        /// <param name="db">数据库上下文</param>
        /// <param name="entity">一个菜单</param>
        /// <returns></returns>
        public bool Create(ref ValidationErrors validationErrors, SysEntities db, SysMenu entity)
        {
            int count = 1;

            foreach (string item in entity.SysOperationId.GetIdSort())
            {
                SysOperation sys = new SysOperation {
                    Id = item
                };
                db.SysOperation.Attach(sys);
                entity.SysOperation.Add(sys);
                count++;
            }

            repository.Create(db, entity);
            if (count == repository.Save(db))
            {
                return(true);
            }
            else
            {
                validationErrors.Add("创建出错了");
            }
            return(false);
        }
コード例 #22
0
ファイル: SettingController.cs プロジェクト: inflow126/netnrf
        public string SaveSysMenu(SysMenu mo, string savetype)
        {
            int num = 0;

            if (string.IsNullOrWhiteSpace(mo.SmPid))
            {
                mo.SmPid = Guid.Empty.ToString();
            }
            using (var db = new ContextBase())
            {
                if (savetype == "add")
                {
                    mo.SmId = Guid.NewGuid().ToString();
                    db.SysMenu.Add(mo);
                }
                else
                {
                    db.SysMenu.Update(mo);
                }
                num = db.SaveChanges();
            }

            //清理缓存
            Core.CacheTo.Remove(Func.Common.GlobalCacheKey.SysMenu);

            return(num > 0 ? "success" : "fail");
        }
コード例 #23
0
        private void AddDecendants(XElement element, SysMenu menu, ExtendedIdentityDbContext context)
        {
            if (element == null || menu == null || context == null)
            {
                return;
            }
            var items = element.Elements("item");

            if (items == null || items.Count() <= 0)
            {
                return;
            }

            int counter2 = 1;

            foreach (var item in items)
            {
                SysMenu child = ToMenu(item);
                if (item != null)
                {
                    child.IsShowInNavTree = counter2;
                    counter2++;
                    child.ParentId = menu.SysMenuId;
                    //context.SysMenus.AddOrUpdate<SysMenu>(m =>
                    //new { m.Area, m.Controller, m.Action }, child);
                    context.SysMenus.AddOrUpdate(m => m.MenuName, child);
                }
            }
            UtilityFramework.DbUpdateConcurrencyExceptionResolver
            .SaveAndResolveExceptionServerWin(context);
        }
コード例 #24
0
        /// <summary>
        /// 添加菜单
        /// </summary>
        /// <param name="sysMenu"></param>
        public async Task <bool> AddMenu(SysMenu sysMenu)
        {
            var result = await _menuRepositoty.InsertAsync(sysMenu);

            //await RestMenuCache();//菜单进行修改重置缓存
            return(result);
        }
コード例 #25
0
        public ActionResult Edit(string id, SysMenu entity)
        {
            if (entity != null && ModelState.IsValid)
            {   //数据校验
                string currentPerson = GetCurrentPerson();
                entity.UpdateTime   = DateTime.Now;
                entity.UpdatePerson = currentPerson;

                string returnValue = string.Empty;
                if (m_BLL.Edit(ref validationErrors, entity))
                {
                    LogClassModels.WriteServiceLog(Suggestion.UpdateSucceed + ",菜单信息的Id为" + id, "菜单"
                                                   );       //写入日志
                    return(Json(Suggestion.UpdateSucceed)); //提示更新成功
                }
                else
                {
                    if (validationErrors != null && validationErrors.Count > 0)
                    {
                        validationErrors.All(a =>
                        {
                            returnValue += a.ErrorMessage;
                            return(true);
                        });
                    }
                    LogClassModels.WriteServiceLog(Suggestion.UpdateFail + ",菜单信息的Id为" + id + "," + returnValue, "菜单"
                                                   );                  //写入日志
                    return(Json(Suggestion.UpdateFail + returnValue)); //提示更新失败
                }
            }
            return(Json(Suggestion.UpdateFail + "请核对输入的数据的格式")); //提示输入的数据的格式不对
        }
コード例 #26
0
        /// <summary>
        /// 更新菜单
        /// </summary>
        /// <param name="id"></param>
        public void UpdateMenu(int operater, SysMenu sysMenu, string[] perssions)
        {
            sysMenu.Mender           = operater;
            sysMenu.LastUpdateTime   = DateTime.Now;
            _db.Entry(sysMenu).State = EntityState.Modified;



            var sysMenuPermission = _db.SysMenuPermission.Where(r => r.MenuId == sysMenu.Id).ToList();

            foreach (var m in sysMenuPermission)
            {
                _db.SysMenuPermission.Remove(m);
            }


            if (perssions != null)
            {
                foreach (var m in perssions)
                {
                    _db.SysMenuPermission.Add(new SysMenuPermission {
                        MenuId = sysMenu.Id, PermissionId = m
                    });
                }
            }

            AddOperateHistory(Enumeration.OperateType.Update, sysMenu.Id, string.Format("修改菜单(ID:{0})", sysMenu.Id));

            _db.SaveChanges();
        }
コード例 #27
0
 protected void rplist_ItemDataBound(object sender, RepeaterItemEventArgs e)
 {
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
     {
         CheckBoxList cbl    = e.Item.FindControl("cbOperates") as CheckBoxList;
         SysMenu      sm     = (SysMenu)e.Item.DataItem;//找到分类Repeater关联的数据项
         int          MenuID = (int)sm.MenuID;
         cbl.Items.Clear();
         IList <SysOperate> lso_m = lso.Where <SysOperate>(p => p.MenuID == MenuID).ToList <SysOperate>();
         foreach (SysOperate so in lso_m)
         {
             ListItem li = new ListItem();
             li.Text  = so.OperateName;
             li.Value = so.OperateID.ToString();
             if (luo.Where <UserOperate>(p => p.OperateID == so.OperateID).ToList().Count > 0)
             {
                 li.Selected = true;
             }
             else
             {
                 li.Selected = false;
             }
             cbl.Items.Add(li);
         }
     }
 }
コード例 #28
0
ファイル: SysRoleController.cs プロジェクト: yiyungent/LMS
        private void AddSelfAndChildren(SysMenu self, IList <SysMenu> allMenu, IList <SysFunction> allFunction, StringBuilder sb)
        {
            // 1.添加自己
            // 1.1添加 Menu
            sb.Append(string.Format("<item id='m{0}' text='{1}' im0='{2}' im1='{2}' im2='{2}' open='1'>", self.ID, self.Name, "book_titel.gif"));
            // 1.2添加 Function
            var find = from m in allFunction
                       where m.SysMenu != null && m.SysMenu.ID == self.ID
                       select m;

            foreach (var item in find)
            {
                sb.Append(string.Format("<item id='f{0}' text='{1}' im0='{2}' im1='{2}' im2='{2}' open='1' />", item.ID, item.Name, "book_titel.gif"));
            }
            // 2.递归添加子女
            // 2.1筛选子女
            //var children = from m in allMenu
            //               where m.ParentMenu != null && m.ParentMenu.ID == self.ID
            //               orderby m.SortCode
            //               select m;
            var children = self.Children.OrderBy(m => m.SortCode);

            // 2.2关于子女循环,递归调用
            foreach (var item in children)
            {
                AddSelfAndChildren(item, allMenu, allFunction, sb);
            }
            // 3.关闭自己
            sb.Append("</item>");
        }
コード例 #29
0
ファイル: MenuEditModel.cs プロジェクト: wpmyj/LC
        public void InitEditModel(SysMenu sysMenu)
        {
            this.Menu = sysMenu;

            this.MenuCode = sysMenu.MenuCode;
            this.BigImage = sysMenu.BigImage;
            this.ControlType = sysMenu.ControlType;
            this.DisplayName = sysMenu.DisplayName;
            this.FunctionCode = sysMenu.FunctionCode;
            this.ImagePosition = sysMenu.ImagePosition;
            this.Layer = sysMenu.Layer;
            this.ModuleCode = sysMenu.ModuleCode;
            this.Name = sysMenu.Name;
            this.ParentCode = sysMenu.ParentCode;
            this.Remark = sysMenu.Remark;
            this.ShowImage = sysMenu.ShowImage;
            this.ShowIndex = sysMenu.ShowIndex;
            this.ShowText = sysMenu.ShowText;
            this.SmallImage = sysMenu.SmallImage;
            this.Type = sysMenu.Type;

            if(sysMenu.ParentModule != null)
            {
                ModuleEditModel moduleEditModel = new ModuleEditModel();
                moduleEditModel.InitEditModel(sysMenu.ParentModule);
                this.ParentModule = moduleEditModel;
            }
            else
            {
                this.ParentModule = null;
            }

            if (sysMenu.ParentFunction != null)
            {
                FunctionEditModel functionEditModel = new FunctionEditModel();
                functionEditModel.InitEditModel(sysMenu.ParentFunction);
                this.ParentFunction = functionEditModel;
            }
            else
            {
                this.ParentFunction = null;
            }

            if(sysMenu.SubMenu!=null && sysMenu.SubMenu.Count>0)
            {
                this.SubMenus = new List<MenuEditModel>();
                ICollection<SysMenu> subMenus = sysMenu.SubMenu;
                foreach (SysMenu sysmenu in subMenus)
                {
                    MenuEditModel submenu = new MenuEditModel();
                    submenu.InitEditModel(sysmenu);
                    this.SubMenus.Add(submenu);
                }
            }
            else
            {
                this.SubMenus = null;
            }
        }
コード例 #30
0
        public List <SysMenuPermission> GetSysMenuPermissionsByMenu(SysMenu model)
        {
            var sql = "SELECT * FROM dbo.SysMenuPermission WHERE DelState = 0 AND Enabled = 1 AND MenuId = @MenuId";

            return(TraceExecFunc <List <SysMenuPermission> >(
                       () => this.Conn.Query <SysMenuPermission>(sql, model).ToList <SysMenuPermission>()
                       ));
        }
コード例 #31
0
 public SysMenus(SysMenu sysmenu)
 {
     Id         = sysmenu.Id;
     MenuName   = sysmenu.MenuName;
     ParentId   = sysmenu.ParentId;
     Url        = sysmenu.Url;
     CreateDate = sysmenu.CreateDate;
 }
コード例 #32
0
ファイル: MenuModel.cs プロジェクト: 123445666/PHNC
 public SysMenu toSysMenu()
 {
     SysMenu result = new SysMenu();
     result.Id = string.IsNullOrEmpty(this.Id) ? Guid.NewGuid().ToString() : this.Id;
     result.Name = this.Name;
     result.ActionCode = this.ActionCode;
     result.Area = this.Area;
     result.Controller = this.Controller;
     result.Action = this.Action;
     result.Params = this.Params;
     result.Pram1 = this.Pram1;
     result.Pram2 = this.Pram2;
     result.Pram3 = this.Pram3;
     result.QuerryString = this.QuerryString;
     result.ParentId = this.ParentId;
     result.Order = this.Order;
     result.Description = this.Description;
     result.MenuType = this.MenuType;
     result.SysAction = this.SysAction;
     result.SysMenu1 = this.SysMenu1;
     result.SysMenu2 = this.SysMenu2;
     result.Icon = this.Icon;
     result.CreateBy = this.CreateBy;
     result.CreateDate = this.CreateDate;
     result.ModifyBy = this.ModifyBy;
     result.ModifyDate = this.ModifyDate;
     return result;
 }