public bool AddRole(RoleDto dto, UserDto user)
        {
            if (dto == null || String.IsNullOrWhiteSpace(dto.Name))
            {
                return(false);
            }
            if (dto.Name.Contains("管理员"))
            {
                return(false);
            }
            TbRole role = new TbRole();

            role.Id          = Tools.NewID;
            role.CreateBy    = user.Id;
            role.CreateTs    = DateTime.Now;
            role.Description = dto.Description;
            role.Name        = dto.Name;
            role.State       = (int)dto.State;
            role.UpdateBy    = user.Id;
            role.UpdateTs    = role.CreateTs;

            dbContext.Roles.Add(role);
            var flag = dbContext.SaveChanges() > 0 ? true : false;

            if (flag)
            {
                DataBaseCache.Roles.Add(role);
            }
            return(flag);
        }
Пример #2
0
        public bool AddOrEditRolePermis(RolePermisDto dto)
        {
            var newPermis = dto.permissions.Select(x => new TbPermission
            {
                MenuId      = x.menuId,
                SearchState = x.search,
                AddState    = x.add,
                DeleteState = x.delete,
                UpdateState = x.update,
                ImportState = x.import,
                ErportState = x.export,
                LockState   = x._lock,
                UpdateBy    = dto.updateBy
            });
            var newPerRelation = newPermis.Select(x => new TbPerRelation {
                Permiss = x
            }).ToList();

            if (dto.roleId != 0)
            {
                using (_dbContext)
                {
                    var entity = _dbContext.TbRole
                                 .Include(x => x.TbPerRelation)
                                 .ThenInclude(x => x.Permiss)
                                 .FirstOrDefault(x => x.RoleId == dto.roleId);
                    _dbContext.TbPermission.RemoveRange(entity.TbPerRelation.Select(x => x.Permiss));
                    entity.RoleName      = dto.roleName;
                    entity.TbPerRelation = newPerRelation;
                    _dbContext.TbRole.Update(entity);
                    return(_dbContext.SaveChanges() > 0 ? true : false);
                }
            }
            else
            {
                using (_dbContext)
                {
                    var newRole = new TbRole
                    {
                        RoleId        = dto.roleId,
                        RoleNo        = dto.roleNo,
                        RoleName      = dto.roleName,
                        TbPerRelation = newPerRelation,
                        UpdateBy      = dto.updateBy
                    };
                    _dbContext.TbRole.AddRange(newRole);
                    return(_dbContext.SaveChanges() > 0 ? true : false);
                }
            }
        }
Пример #3
0
        /// <summary>
        /// 新增数据(单条)
        /// </summary>
        public AjaxResult InsertNew(TbRole model, bool isApi = false)
        {
            if (model == null)
            {
                return(AjaxResult.Warning("参数错误"));
            }
            var model1 = Repository <TbRole> .First(d => d.RoleName == model.RoleName && d.DepartmentId == model.DepartmentId);

            if (model1 != null)
            {
                return(AjaxResult.Error("角色名称重复"));
            }
            try
            {
                Repository <TbRole> .Insert(model, isApi);

                return(AjaxResult.Success());
            }
            catch (Exception)
            {
                return(AjaxResult.Error());
            }
        }