/// <summary> /// 更新一个账号 /// </summary> /// <param name="admin">账号实体</param> /// <param name="roleIds">账号分配了的角色id</param> /// <returns></returns> public int UpdateAdmin(SysAdmin admin, List <int> roleIds) { int result = -1; result = _adminRepository.BeginTransaction(() => { result = _adminRepository.Update(admin, m => m.UserName, m => m.NickName, m => m.Password, m => m.Email, m => m.MobilePhone, m => m.QQ, m => m.WeChar, m => m.LastUpdateBy, m => m.LastUpdateByName, m => m.LastUpdateDate); var adminRoles = _adminRoleRepository.Table.Where(m => m.AdminId == admin.Id).ToList(); #region 除 //没有设置 全部删除 if (roleIds == null || roleIds.Count <= 0) { _adminRoleRepository.Delete(adminRoles); } else { List <SysAdminRole> remveadminRoles = new List <SysAdminRole>(); foreach (var adminRole in adminRoles) { //没有包含,删除数据库 if (!roleIds.Any(id => id == adminRole.RoleId)) { remveadminRoles.Add(adminRole); } } _adminRoleRepository.Delete(remveadminRoles); } #endregion #region 插入 if (roleIds != null && roleIds.Count > 0) { foreach (var id in roleIds) { if (!adminRoles.Any(m => m.RoleId == id)) { //不存在新增 var ar = new SysAdminRole() { AdminId = admin.Id, RoleId = id, LastUpdateBy = admin.LastUpdateBy, LastUpdateByName = admin.LastUpdateByName, LastUpdateDate = admin.LastUpdateDate, CreateBy = admin.LastUpdateBy, CreatebyName = admin.LastUpdateByName, CreateDate = admin.LastUpdateDate }; admin.AdminRoles.Add(ar); } } result = _adminRoleRepository.Insert(admin.AdminRoles); } #endregion }); return(result); }
/// <summary> /// 更新一个角色 /// </summary> /// <param name="role">角色实体</param> /// <param name="adminIds">包含的人员id</param> /// <returns></returns> public int UpdateRole(SysRole role, List <int> adminIds) { int result = -1; result = _roleRepository.BeginTransaction(() => { result = _roleRepository.Update(role, m => m.RoleName, m => m.Status, m => m.RoleRemark, m => m.LastUpdateBy, m => m.LastUpdateByName, m => m.LastUpdateDate); var adminRoles = _adminRoleRepository.Table.Where(m => m.RoleId == role.Id).ToList(); #region 除 //没有设置 全部删除 if (adminIds == null || adminIds.Count <= 0) { _adminRoleRepository.Delete(adminRoles); } else { List <SysAdminRole> remveadminRoles = new List <SysAdminRole>(); foreach (var adminRole in adminRoles) { //没有包含,删除数据库 if (!adminIds.Any(id => id == adminRole.AdminId)) { remveadminRoles.Add(adminRole); } } _adminRoleRepository.Delete(remveadminRoles); } #endregion #region 插入 if (adminIds != null && adminIds.Count > 0) { foreach (var id in adminIds) { if (!adminRoles.Any(m => m.AdminId == id)) { //不存在新增 var ar = new SysAdminRole() { AdminId = id, RoleId = role.Id, LastUpdateBy = role.LastUpdateBy, LastUpdateByName = role.LastUpdateByName, LastUpdateDate = role.LastUpdateDate, CreateBy = role.LastUpdateBy, CreatebyName = role.LastUpdateByName, CreateDate = role.LastUpdateDate }; role.AdminRoles.Add(ar); } } result = _adminRoleRepository.Insert(role.AdminRoles); } #endregion }); return(result); }
/// <summary> /// 新增一个账号 /// </summary> /// <param name="admin">账号实体</param> /// <param name="roleIds">账号分配了的角色id</param> /// <returns>-1,实体插入失败,-2角色关系插入失败</returns> public int AddAdmin(SysAdmin admin, List <int> roleIds) { int result = -1; result = _adminRepository.BeginTransaction(() => { result = _adminRepository.Insert(admin); if (roleIds != null && roleIds.Count > 0) { foreach (var id in roleIds) { var ar = new SysAdminRole() { AdminId = admin.Id, RoleId = id, CreateBy = admin.CreateBy, CreatebyName = admin.CreatebyName, CreateDate = admin.CreateDate, LastUpdateBy = admin.LastUpdateBy, LastUpdateByName = admin.LastUpdateByName, LastUpdateDate = admin.LastUpdateDate }; admin.AdminRoles.Add(ar); } result = _adminRoleRepository.Insert(admin.AdminRoles); } }); return(result); }
/// <summary> /// 新增 /// </summary> /// <param name="admin">角色实体</param> /// <param name="roleIds">角色包含了账号id</param> /// <returns>-1,实体插入失败,-2角色关系插入失败</returns> public int AddRole(SysRole role, List <int> adminIds) { int result = -1; result = _roleRepository.BeginTransaction(() => { result = _roleRepository.Insert(role); if (adminIds != null && adminIds.Count > 0) { foreach (var id in adminIds) { var ar = new SysAdminRole() { AdminId = id, RoleId = role.Id, CreateBy = role.CreateBy, CreatebyName = role.CreatebyName, CreateDate = role.CreateDate, LastUpdateBy = role.LastUpdateBy, LastUpdateByName = role.LastUpdateByName, LastUpdateDate = role.LastUpdateDate }; role.AdminRoles.Add(ar); } result = _adminRoleRepository.Insert(role.AdminRoles); } }); return(result); }