Ejemplo n.º 1
0
 /// <summary>
 /// 删除角色菜单
 /// </summary>
 /// <param name="roleMenu"></param>
 /// <returns></returns>
 public bool DelRoleMenu(RoleMenu roleMenu)
 {
     roleMenu = _omsAccessor.Get <RoleMenu>().Where(r => r.Isvalid && r.RoleId == roleMenu.RoleId && r.MenuId == roleMenu.MenuId).FirstOrDefault();
     _omsAccessor.Delete(roleMenu);
     _omsAccessor.SaveChanges();
     return(true);
 }
Ejemplo n.º 2
0
 public void UpdateRoleMenu(RoleMenu roleMenu)
 {
     DataContext.RoleMenus.Attach(roleMenu);
     DataContext.Entry(roleMenu).State = EntityState.Modified;
     SetAuditFields(roleMenu);
     DataContext.SaveChanges();
 }
Ejemplo n.º 3
0
        public void DeleteRoleMenu(long roleMenuId)
        {
            RoleMenu roleMenu = GetRoleMenu(roleMenuId);

            DataContext.RoleMenus.Remove(roleMenu);
            DataContext.SaveChanges();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="role">role.</param>
        public bool Add(Role role)
        {
            _coreDbContext.Role.Add(role);

            bool isadd = _coreDbContext.SaveChanges() > 0;

            if (isadd)
            {
                if (role.MenuIds != null && role.MenuIds.Count > 0)
                {
                    List <RoleMenu> roleMenus = new List <RoleMenu>();
                    foreach (int item in role.MenuIds)
                    {
                        RoleMenu roleMenu = new RoleMenu
                        {
                            RoleId = role.Id,
                            MenuId = item
                        };
                        roleMenus.Add(roleMenu);
                    }
                    _coreDbContext.RoleMenu.AddRange(roleMenus);
                    return(_coreDbContext.SaveChanges() > 0);
                }
                return(isadd);
            }

            return(false);
        }
Ejemplo n.º 5
0
        public void Update(GetRoleMenuDto getRoleMenuDto)
        {
            int[] dbMenuArray = GetMenuArray(getRoleMenuDto.RoleId);
            int[] addArray    = getRoleMenuDto.MenuArray.Except(dbMenuArray).ToArray();
            int[] delArray    = dbMenuArray.Except(getRoleMenuDto.MenuArray).ToArray();

            foreach (var i in addArray)
            {
                RoleMenu roleMenu = new RoleMenu()
                {
                    RoleId = getRoleMenuDto.RoleId,
                    MenuId = i
                };
                _repository.Add(roleMenu);
                _unitOfWork.Commit();
            }

            foreach (var i1 in delArray)
            {
                RoleMenu roleMenu = _repository.Find(c => c.RoleId == getRoleMenuDto.RoleId && c.MenuId == i1);
                if (roleMenu != null)
                {
                    _repository.Delete(roleMenu);
                    _unitOfWork.Commit();
                }
            }
        }
Ejemplo n.º 6
0
        public ActionResult CreateRolePermission(int roleId, string menus)
        {
            try
            {
                // TODO: Add insert logic here

                var listMenus = JsonConvert.DeserializeObject <List <Menu> >(menus);

                db.Database.ExecuteSqlCommand("delete from RoleMenus where RoleId={0}", roleId);

                foreach (var menu in listMenus)
                {
                    var roleMenu = new RoleMenu {
                        RoleId = roleId, MenuId = menu.Id
                    };
                    db.RoleMenus.Add(roleMenu);
                }
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                return(Json(new { IsSuccess = false, Message = ex.Message }, "text/html", JsonRequestBehavior.AllowGet));
            }
            return(Json(new { IsSuccess = true, Message = "保存成功" }, "text/html", JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 7
0
        public JsonResult CreateRole(Role obj, string lstId)
        {
            bool isSuccess = false;

            obj.Id = Common.GenerateId();

            if (ModelState.IsValid)
            {
                isSuccess = _RoleService.Create(obj);
            }

            if (isSuccess)
            {
                MessageReport report = new MessageReport(true, FunctionHelper.GetLocalizeDictionary("Home", "notification")["addSuccess"]);
                WriteLog.Write(report, GetCurrentUser.GetUser(), obj.Id, obj.RoleName, "Role");
                string[] ids = lstId.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                if (ids != null)
                {
                    foreach (var item in ids)
                    {
                        RoleMenu objRoleMenu = new RoleMenu();
                        objRoleMenu.Id     = Common.GenerateId();
                        objRoleMenu.RoleId = obj.Id;
                        objRoleMenu.MenuId = item;
                        _RoleMenuService.Create(objRoleMenu);
                    }
                }
            }

            return(Json(isSuccess, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 8
0
        public static int Insert(RoleMenu roleMenu)
        {
            int id = RepositoryManager.RoleMenu_Repository.Insert(roleMenu);

            InvalidateCache();
            return(id);
        }
Ejemplo n.º 9
0
        public static bool Update(RoleMenu roleMenu)
        {
            bool isExecute = RepositoryManager.RoleMenu_Repository.Update(roleMenu);

            InvalidateCache();
            return(isExecute);
        }
Ejemplo n.º 10
0
        public bool SetRoleMenu(int roleID, IEnumerable <int> addRoleMenuList, IEnumerable <int> removeRoleMenuList)
        {
            //delete from RoleMenu where RoleID=@RoleID and MenuID=@MenuID
            int _DeleteCount = _RoleMenuDAL.BatchDelete(a => removeRoleMenuList.Contains(a.MenuID.Value) && a.RoleID.Value == roleID);

            //insert into RoleMenu(RoleID, MenuID)values(@RoleID, @MenuID)
            List <RoleMenu> _RoleMenuList = new List <RoleMenu>();

            foreach (var amp in addRoleMenuList)
            {
                var entity = new RoleMenu()
                {
                    RoleID = roleID,
                    MenuID = amp
                };
                _RoleMenuList.Add(entity);
            }
            int _AddCount = _RoleMenuDAL.AddList(_RoleMenuList);

            if ((_DeleteCount + _AddCount) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 新增角色
        /// </summary>
        /// <returns></returns>
        public async Task AddRoleAsync(AddRoleMenuDto roleDto)
        {
            if (roleDto.MenusId.Count == 0)
            {
                throw new InvalidArgumentException("请选择菜单页面");
            }
            var roleModel = Map <AddRoleMenuDto, Role>(roleDto);

            var newRoleModel = await roleRespository.InsertAsync(roleModel);

            var newroleId = newRoleModel.Id;
            var rolemenus = new List <RoleMenu>();

            foreach (var item in roleDto.MenusId)
            {
                var roleMenu = new RoleMenu()
                {
                    RoleId = newroleId,
                    MenuId = item
                };
                rolemenus.Add(roleMenu);
            }
            await roleMenuRepository.InsertEntitiesAsync(rolemenus);

            await roleMenuRepository.UnitOfWork.SaveChangesAsync();
        }
Ejemplo n.º 12
0
 public void UpdateGuilds()
 {
     try {
         OldGuildConfig[] oldGuilds = GetAll <OldGuildConfig>("guild-");
         if (oldGuilds != null)
         {
             foreach (OldGuildConfig og in oldGuilds)
             {
                 GuildConfig ng = new GuildConfig {
                     Id             = og.Id,
                     Prefix         = og.Prefix,
                     NewsRoles      = og.NewsRoles,
                     AllNewsRole    = og.AllNewsRole,
                     NewsChannel    = og.NewsChannel,
                     WelcomeChannel = og.WelcomeChannel,
                     WelcomeMessage = og.WelcomeMessage,
                 };
                 RoleMenu rm = ng.DefaultSelfRoleMenu;
                 rm.Channel   = og.SelfRoleMenu[0];
                 rm.Message   = og.SelfRoleMenu[1];
                 rm.SelfRoles = og.SelfRoles;
                 Remove <OldGuildConfig>(og);
                 Save <GuildConfig>(ng);
             }
         }
     }
     catch (Exception) {
         Logger.LogInfo("No need to update guilds.");
     }
 }
Ejemplo n.º 13
0
        public async Task <ActionResult <RoleMenu> > PostRoleMenu(RoleMenu roleMenu)
        {
            _context.RoleMenu.Add(roleMenu);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetRoleMenu", new { id = roleMenu.RoleId }, roleMenu));
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> PutRoleMenu(int id, RoleMenu roleMenu)
        {
            if (id != roleMenu.RoleId)
            {
                return(BadRequest());
            }

            _context.Entry(roleMenu).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RoleMenuExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(RoleMenu model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update Auth_RoleMenu set ");
            strSql.Append("RoleId=@RoleId,");
            strSql.Append("MenuId=@MenuId");
            strSql.Append(" where Id=@Id");
            SqlParameter[] parameters =
            {
                new SqlParameter("@RoleId", SqlDbType.Int, 4),
                new SqlParameter("@MenuId", SqlDbType.Int, 4),
                new SqlParameter("@Id",     SqlDbType.Int, 4)
            };
            parameters[0].Value = model.RoleId;
            parameters[1].Value = model.MenuId;
            parameters[2].Value = model.Id;

            int rows = MssqlHelper.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 16
0
 public bool AddMenu(Guid roleId, List <Guid> menus)
 {
     try
     {
         this.ConnectionHandler.StartTransaction(IsolationLevel.ReadUncommitted);
         foreach (var menu in menus)
         {
             var roleMenu1 = new RoleMenuBO().Get(this.ConnectionHandler, roleId, menu);
             if (roleMenu1 == null)
             {
                 var roleMenu = new RoleMenu {
                     MenuId = menu, RoleId = roleId
                 };
                 if (!new RoleMenuBO().Insert(this.ConnectionHandler, roleMenu))
                 {
                     throw new Exception("خطایی در ذخیره منوی نقش وجو دارد");
                 }
             }
         }
         this.ConnectionHandler.CommitTransaction();
         return(true);
     }
     catch (KnownException ex)
     {
         this.ConnectionHandler.RollBack();
         Log.Save(ex.Message, LogType.ApplicationError, ex.Source, ex.StackTrace);
         throw new KnownException(ex.Message, ex);
     }
     catch (Exception ex)
     {
         this.ConnectionHandler.RollBack();
         Log.Save(ex.Message, LogType.ApplicationError, ex.Source, ex.StackTrace);
         throw new KnownException(ex.Message, ex);
     }
 }
Ejemplo n.º 17
0
        public async Task <RoleMenu> searchRoleMenuById(int id)
        {
            RoleMenuDbContext roleMenuDB = new RoleMenuDbContext();
            RoleMenu          model      = await roleMenuDB.roleMenus.FindAsync(id);

            return(model);
        }
Ejemplo n.º 18
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <returns><c>true</c>, if product was updated, <c>false</c> otherwise.</returns>
        /// <param name="model">model.</param>
        public bool Update(Role model)
        {
            _coreDbContext.Role.Attach(model);
            _coreDbContext.Entry(model).State = EntityState.Modified;

            if (model.MenuIds != null && model.MenuIds.Count > 0)
            {
                List <RoleMenu> rolemenus = _coreDbContext.RoleMenu.Where(t => t.IsDelete == false && t.RoleId == model.Id).ToList();
                foreach (var item in rolemenus)
                {
                    _coreDbContext.RoleMenu.Remove(item);
                }

                List <RoleMenu> roleMenus = new List <RoleMenu>();

                foreach (var item in model.MenuIds)
                {
                    RoleMenu roleMenu = new RoleMenu
                    {
                        RoleId = model.Id,
                        MenuId = item
                    };
                    roleMenus.Add(roleMenu);
                }

                _coreDbContext.RoleMenu.AddRange(roleMenus);
            }
            return(_coreDbContext.SaveChanges() > 0);
        }
        public ActionResult CreateRoleMenu(RoleMenu roleMenu)
        {
            //if model not valid
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("RoleAkses", "Security"));
            }

            //if exist
            var roleMenuInDB = _context.RoleMenus
                               .SingleOrDefault(m => (m.RoleId == roleMenu.RoleId) && (m.MenuId == roleMenu.MenuId));

            if (roleMenuInDB == null)
            {
                //add context and save
                _context.RoleMenus.Add(roleMenu);
                _context.SaveChanges();

                return(RedirectToAction("RoleAkses", "Security", new { roleId = roleMenu.RoleId }));
            }
            else
            {
                var strMessage = "exist";
                return(RedirectToAction("RoleAkses", "Security", new { errorMessage = strMessage }));
            }
        }
Ejemplo n.º 20
0
        /// <summary>
        /// delete by id
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <Result <RoleMenu> > deleteMenuAsync(int id)
        {
            Result <RoleMenu> result = new Result <RoleMenu>();

            try
            {
                RoleMenuDbContext context = new RoleMenuDbContext();
                RoleMenu          model   = await context.roleMenus.FindAsync(id);

                context.roleMenus.Remove(model);
                int count = await context.SaveChangesAsync();

                if (count == 0)
                {
                    result.success = false;
                    result.message = "This Role Do Not Include This Menu";
                }
            }
            catch (Exception err)
            {
                result.success = false;
                result.message = err.Message;
            }
            return(result);
        }
Ejemplo n.º 21
0
        //[ValidateAntiForgeryToken]
        public ActionResult Edit([Bind(Include = "MenuItem,Id,RoleName,MenuId,IsEnabled")] RoleMenu roleMenu)
        {
            if (ModelState.IsValid)
            {
                roleMenu.TrackingState = TrackingState.Modified;
                _roleMenuService.Update(roleMenu);

                _unitOfWork.SaveChanges();
                if (Request.IsAjaxRequest())
                {
                    return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
                }
                DisplaySuccessMessage("Has update a RoleMenu record");
                return(RedirectToAction("Index"));
            }
            var menuitemRepository = _unitOfWork.Repository <MenuItem>();

            ViewBag.MenuId = new SelectList(menuitemRepository.Queryable(), "Id", "Title", roleMenu.MenuId);
            if (Request.IsAjaxRequest())
            {
                var modelStateErrors = String.Join("", this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors.Select(n => n.ErrorMessage)));
                return(Json(new { success = false, err = modelStateErrors }, JsonRequestBehavior.AllowGet));
            }
            DisplayErrorMessage();
            return(View(roleMenu));
        }
Ejemplo n.º 22
0
        public void Remove(int id)
        {
            RoleMenu roleMenu = db.RoleMenus.Find(id);

            db.RoleMenus.Remove(roleMenu);
            db.SaveChanges();
        }
Ejemplo n.º 23
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(RoleMenu model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into Auth_RoleMenu(");
            strSql.Append("RoleId,MenuId)");
            strSql.Append(" values (");
            strSql.Append("@RoleId,@MenuId)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@RoleId", SqlDbType.Int, 4),
                new SqlParameter("@MenuId", SqlDbType.Int, 4)
            };
            parameters[0].Value = model.RoleId;
            parameters[1].Value = model.MenuId;

            object obj = MssqlHelper.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
Ejemplo n.º 24
0
 public IActionResult RoleRelateMenu()
 {
     try
     {
         var      menus    = _systemMenuService.GetAll();
         var      role     = _systemRoleService.GetAll().FirstOrDefault();
         RoleMenu roleMenu = null;
         foreach (var item in menus)
         {
             roleMenu = new RoleMenu()
             {
                 Id          = Guid.NewGuid().ToString(),
                 AddTime     = DateTime.Now,
                 IsDelete    = false,
                 SystemMenus = item,
                 SystemRoles = role
             };
             _roleMenuService.Add(roleMenu);
         }
         _unitOfWork.Commit();
         return(Ok());
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 25
0
        public bool Update(RoleMenu RoleMenu)
        {
            bool isInsert = false;
            bool isUpate  = false;

            try
            {
                db = EnterpriseLibraryContainer.Current.GetInstance <Database>();
                DbCommand cmd = db.GetStoredProcCommand("RoleMenuUpdate");

                db = AddParam(db, cmd, RoleMenu, isInsert);
                int rowAffected = db.ExecuteNonQuery(cmd);

                if (rowAffected > 0)
                {
                    isUpate = true;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(isUpate);
        }
Ejemplo n.º 26
0
        public JsonResult CreateRole(Role obj, string lstId)
        {
            var report = new MessageReport();

            obj.Id = Common.GenerateId();

            if (ModelState.IsValid)
            {
                report = _RoleService.Create(obj);
            }

            if (report.isSuccess)
            {
                string[] ids = lstId.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                if (ids != null)
                {
                    foreach (var item in ids)
                    {
                        RoleMenu objRoleMenu = new RoleMenu();
                        objRoleMenu.Id     = Common.GenerateId();
                        objRoleMenu.RoleId = obj.Id;
                        objRoleMenu.MenuId = item;
                        _RoleMenuService.Create(objRoleMenu);
                    }
                }
            }

            return(Json(report, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 27
0
        public int Insert(RoleMenu RoleMenu)
        {
            int  id       = 0;
            bool isInsert = true;

            try
            {
                db = EnterpriseLibraryContainer.Current.GetInstance <Database>();
                DbCommand cmd = db.GetStoredProcCommand("RoleMenuInsert");

                db = AddParam(db, cmd, RoleMenu, isInsert);
                db.ExecuteNonQuery(cmd);

                Object obj = db.GetParameterValue(cmd, "Id");

                if (obj != null)
                {
                    int.TryParse(obj.ToString(), out id);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(id);
        }
Ejemplo n.º 28
0
        public async Task <ActionResult> Create(int[] MenuId, int RoleId)
        {
            List <RoleMenu> roleMenus = new List <RoleMenu>();

            if (MenuId[0] == 0)
            {
                ModelState.AddModelError("MenuId", "Bir değer girin");

                return(View());
            }
            if (MenuId != null && RoleId > 0)
            {
                for (int i = 0; i < MenuId.Length; i++)
                {
                    RoleMenu roleMenu = new RoleMenu();
                    roleMenu.MenuId = MenuId[i];
                    roleMenu.RoleId = RoleId;
                    db.RolMenus.Add(roleMenu);
                }
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            else
            {
            }

            ViewBag.MenuId = new SelectList(db.AllMenu, "MenuId", "MenuName", MenuId);
            ViewBag.RoleId = new SelectList(db.Roles, "RoleId", "RoleName", RoleId);
            return(View());
        }
Ejemplo n.º 29
0
 public MenuPrivilege(string pageName, RoleMenu roleMenu)
 {
     PageName    = pageName;
     AllowAddNew = roleMenu.AllowAddNew.GetValueOrDefault(false);
     AllowUpdate = roleMenu.AllowUpdate.GetValueOrDefault(false);
     AllowDelete = roleMenu.AllowDelete.GetValueOrDefault(false);
 }
Ejemplo n.º 30
0
        public RoleMenu GetRoleMenusByRoleAndMenu(int role, int item)
        {
            RoleMenu roleMenu = (from u in db.RoleMenus
                                 where u.rm_role_id == role && u.rm_menu_id == item
                                 select u).FirstOrDefault();

            return(roleMenu);
        }
Ejemplo n.º 31
0
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (RoleID < 1) return;

        CheckBox cb = sender as CheckBox;
        if (cb == null) return;

        GridViewRow row = cb.BindingContainer as GridViewRow;
        if (row == null) return;

        Menu entity = Menu.Root.AllChilds[row.DataItemIndex] as Menu;
        if (entity == null) return;
        formtitle = entity.Name;

        // 检查权限
        RoleMenu rm = RoleMenu.FindByRoleAndMenu(RoleID, entity.ID);
        if (cb.Checked)
        {
            // 没有权限,增加
            if (rm == null)
            {
                if (!Acquire(PermissionFlags.Insert))
                {
                    WebHelper.Alert("没有添加权限!");
                    return;
                }

                rm = new RoleMenu();
                rm.RoleID = RoleID;
                rm.MenuID = entity.ID;
                rm.PermissionFlag = PermissionFlags.All;
                rm.Save();
            }
        }
        else
        {
            // 如果有权限,删除
            if (rm != null)
            {
                if (!Acquire(PermissionFlags.Delete))
                {
                    WebHelper.Alert("没有删除权限!");
                    return;
                }

                rm.Delete();
            }
        }

        GridView1.DataBind();
    }
Ejemplo n.º 32
0
    protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (RoleID < 1) return;

        CheckBoxList cb = sender as CheckBoxList;

        //只需判断cb是否为空,该角色只有“查看”权限时cb.SelectedItem为空。
        //if (cb == null || cb.SelectedItem == null) return;
        if (cb == null) return;

        GridViewRow row = cb.BindingContainer as GridViewRow;
        if (row == null) return;

        Menu entity = Menu.Root.AllChilds[row.DataItemIndex] as Menu;
        if (entity == null) return;
        formtitle = entity.Name;

        // 检查权限
        RoleMenu rm = RoleMenu.FindByRoleAndMenu(RoleID, entity.ID);
        // 没有权限,增加
        if (rm == null)
        {
            if (!Acquire(PermissionFlags.Insert))
            {
                WebHelper.Alert("没有添加权限!");
                return;
            }

            rm = new RoleMenu();
            rm.RoleID = RoleID;
            rm.MenuID = entity.ID;
        }

        // 遍历权限项
        PermissionFlags flag = PermissionFlags.None;
        foreach (ListItem item in cb.Items)
        {
            if (item.Selected) flag |= (PermissionFlags)(Int32.Parse(item.Value));
        }

        if (rm.PermissionFlag != flag)
        {
            if (!Acquire(PermissionFlags.Update))
            {
                WebHelper.Alert("没有编辑权限!");
                return;
            }

            rm.PermissionFlag = flag;
            rm.Save();
        }

        GridView1.DataBind();
    }