コード例 #1
0
        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());
        }
コード例 #2
0
        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."));
        }