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.")); }
public async Task <IActionResult> Create(string userId, BoardForCreationDto boardForCreation) { if (userId != User.FindFirst(ClaimTypes.NameIdentifier).Value) { return(Unauthorized()); } var currentUser = await _userManager.FindByIdAsync(userId); if (currentUser == null) { return(Unauthorized()); } string boardId = DateTime.Now.ToFileTime().ToString(); boardId = boardId.Substring(boardId.Length / 2, boardId.Length / 4) + userId.Substring(2, 4); Board board = new Board { OwnerId = userId, BoardName = boardForCreation.Name, BoardId = boardId }; currentUser.UserBoards = new List <UserBoards> { new UserBoards { User = currentUser, Board = board } }; _repo.Add(board); if (await _repo.SaveAll()) { var boardToReturn = _mapper.Map <BoardToReturnDto>(board); return(Ok(new { board = boardToReturn })); } return(BadRequest("Something is wrong, please try again.")); }
public async Task <IActionResult> AddCard([FromRoute] CardsControllerParamsDto paramsDto, CardToAddDto cardDto) { if (paramsDto.UserId != User.FindFirst(ClaimTypes.NameIdentifier).Value) { return(Unauthorized()); } if (!await _repo.UserInBoard(paramsDto.UserId, paramsDto.BoardId)) { return(Unauthorized()); } var list = await _repo.GetList(paramsDto.BoardId, paramsDto.ListId); if (list == null) { return(BadRequest("Board or list not found, refresh the page.")); } Card card = _mapper.Map <Card>(cardDto); string cardId = DateTime.Now.ToFileTime().ToString(); cardId = cardId.Substring(cardId.Length / 2, cardId.Length / 4); card.Order = list.Cards.Count; card.CardId = paramsDto.ListId + cardId; list.Cards.Add(card); if (await _repo.SaveAll()) { var cardToReturn = _mapper.Map <CardToReturnDto>(card); cardToReturn.ListId = paramsDto.ListId; return(Ok(cardToReturn)); } return(BadRequest("Couldn't add the card. try refreshing the page.")); }