public async Task <IActionResult> AddUsersToBoard(string userId, UsersToBeAddedToBoardDto usersToBeAddedToBoard) { if (userId != User.FindFirst(ClaimTypes.NameIdentifier).Value) { return(Unauthorized()); } Board board = await _repo.GetBoard(usersToBeAddedToBoard.BoardId); if (board == null) { return(BadRequest("Board not found")); } var currentLoggedInUser = await _userManager.FindByIdAsync(userId); if (currentLoggedInUser == null) { return(Unauthorized()); } if (board.OwnerId != userId) { return(Unauthorized()); } foreach (var userEmail in usersToBeAddedToBoard.UsersEmails) { var userToAdd = await _userManager.FindByEmailAsync(userEmail); if (userToAdd == null) { return(BadRequest(userEmail + " is not found.")); } userToAdd.UserBoards = new List <UserBoards> { new UserBoards { User = userToAdd, Board = board } }; } if (await _repo.SaveAll()) { return(Ok()); } return(BadRequest()); }
public async Task <IActionResult> AddList(string userId, string boardId, ListForCreationDto listForCreationDto) { if (userId != User.FindFirst(ClaimTypes.NameIdentifier).Value) { return(Unauthorized()); } var currentUser = await _userManager.FindByIdAsync(userId); if (currentUser == null) { return(Unauthorized()); } var board = await _repo.GetBoard(boardId); if (board == null) { return(BadRequest("board not found, refresh the page.")); } if (!await _repo.UserInBoard(userId, boardId)) { return(Unauthorized()); } List list = _mapper.Map <List>(listForCreationDto); string listId = DateTime.Now.ToFileTime().ToString(); listId = listId.Substring(listId.Length / 2, listId.Length / 4); list.Order = board.Lists.Count; list.ListId = boardId + listId; var listToReturn = _mapper.Map <ListToReturnDto>(list); board.Lists.Add(list); if (await _repo.SaveAll()) { return(Ok(new { list = listToReturn })); } return(BadRequest("Couldn't add the list. try refreshing the page.")); }