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); }
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); } } }
/// <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()); } }