public async Task <ActionResult> AddUsersToGroup(Guid groupId, [FromBody] AddUsersToGroup command) { command.UserId = User.GetUserId(); command.GroupId = groupId; await _groupService.AddUsersToGroup(command); return(Ok()); }
public IApiResult AddUsersToGroup(AddUsersToGroup operation) { var result = operation.ExecuteAsync().Result; if (result is ValidationsOutput) { return(new ApiResult <List <ValidationItem> >() { Data = ((ValidationsOutput)result).Errors }); } else { return(new ApiResult <object>() { Status = ApiResult <object> .ApiStatus.Success }); } }
public async Task AddUsersToGroup(AddUsersToGroup command) { await _administratorService.ValidateAtLeastModerator(command.UserId, command.GroupId); var group = await _groupRepository.GetWithStudents(command.GroupId); var users = await _userRepository.GetUsersByEmailsAsync(command.Emails); group.AddStudents(users); await _groupRepository.SaveChangesAsync(); var usersNotExistingInDb = command.Emails.Where(e => !users.Select(u => u.Email).Contains(e)); if (usersNotExistingInDb.ToList().Count != 0) { throw new AppException($"Users with those emails don't exist {string.Join(", ", usersNotExistingInDb)}." + $"Other users were added successfully.", AppErrorCode.DOESNT_EXIST); } }