/// <summary> /// 添加角色和角色部门中间表 /// 或修改角色 /// Esmart_Sys_Roles /// Esmart_Sys_RolesInDeparent /// Esmart_Sys_Role_App /// </summary> /// <param name="request">request</param> /// <returns></returns> public bool AddOrUpdate(RoleModel request) { if (string.IsNullOrWhiteSpace(request.Name)) { throw new TpoBaseException("角色名称不能为空"); } if (request.Name.Length > 50) { throw new TpoBaseException(string.Format(CultureInfo.CurrentCulture, "角色名称:{0} 不能超过50!", request.Name)); } if (request.Id > 0) { return(RoleDbAction.Update(request)); } var role = new Esmart_Sys_Roles() { CreateId = request.CreatorId ?? 0, CreateTime = DateTime.Now, StartTime = request.StartDate ?? DateTime.Now, EndTime = request.EndDate ?? DateTime.Now.AddYears(99), Remark = request.Remark, RoleName = request.Name }; if (role.StartTime > role.EndTime) { throw new TpoBaseException("角色开始时间不能大于结束时间"); } RoleDbAction.Add(role); return(true); }
/// <summary> /// 获取角色信息 /// </summary> /// <param name="roleid">角色Id</param> /// <returns></returns> public RoleModel GetRoleRequest(int roleid) { Esmart_Sys_Roles role = RoleDbAction.Find(roleid); RoleModel response = new RoleModel(); if (role != null) { response.CreatorId = role.CreateId; response.CreateTime = role.CreateTime; response.EndDate = role.EndTime; response.Remark = role.Remark; response.Id = role.RoleId; response.Name = role.RoleName; response.StartDate = role.StartTime; response.IsBuiltin = role.IsBuiltin; } return(response); }
/// <summary> /// 添加角色 /// </summary> /// <param name="model">角色entity</param> /// <returns>true|false</returns> public static Esmart_Sys_Roles Add(Esmart_Sys_Roles model) { var engine = PermissionDb.CreateEngine(); model.RoleName = model.RoleName.Trim(); if (engine.Esmart_Sys_Roles.Any(n => n.RoleName == model.RoleName)) { throw new TpoBaseException("角色名称已经存在"); } model.RoleId = (engine.Esmart_Sys_Roles.Max(m => (int?)m.RoleId) ?? 0) + 1; var entity = engine.Esmart_Sys_Roles.Add(model); engine.SaveChanges(); RightLogDb.AddLog(new Esmart_Right_Log { CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "add", OprTbName = "Esmart_Sys_Roles", OprUserId = model.CreateId, OptDescription = string.Format(logFormat, model.CreateId, "添加", model.RoleId), Remark = JsonConvert.SerializeObject(model) }); CommonAction.ClearCache(); return(entity); }