public async Task CreateRoleAsync(MRoleDto roleDto) { var role = _mapper.Map <MRole>(roleDto); await DbContext.Roles.AddAsync(role); await DbContext.SaveChangesAsync(); EventDispatcher.DispatchCreatedEvent("IDPRoles", _mapper.Map <MRoleListDto>(role)); }
//public async Task UpdateRoleAsync(MRole updated) //{ // //var roleModel = _mapper.Map<MRole>(updated); // var userIds = updated.Users.Select(ur => ur.Id).ToList(); // var availableUsers = DbContext.Users.AsQueryable().Where(r => userIds.Contains(r.Id)).Select(r => r.Id).ToList(); // updated.Users = updated.Users.Where(ur => availableUsers.Contains(ur.Id)).ToList(); // await DbContext.SaveChangesAsync(); // EventDispatcher.DispatchUpdatedEvent("IDPRoles", _mapper.Map<MRoleListDto>(updated)); //} public async Task UpdateRoleAsync(MRoleDto updated) { var roleInDb = await GetRoleAsync(updated.Id); _mapper.Map(updated, roleInDb); //var roleModel = _mapper.Map<MRole>(updated); var userIds = updated.Users.Select(ur => ur.Id).ToList(); var availableUsers = DbContext.Users.Where(r => userIds.Contains(r.Id)).ToList(); roleInDb.Users = availableUsers; await DbContext.SaveChangesAsync(); EventDispatcher.DispatchUpdatedEvent("IDPRoles", _mapper.Map <MRoleListDto>(roleInDb)); }
public async Task <IActionResult> UpdateRole(MRoleDto roleDto) { await RolesService.UpdateRoleAsync(roleDto); return(Ok()); }