Exemple #1
0
        public SuccessfulMessageResponse CreateCard([FromBody] CardsCreationModel model, string token, long laneId)
        {
            var session       = IsTokenExpired(token);
            var laneToAddCard = _readOnlyRepository.GetById <Lane>(laneId);
            var board         = _readOnlyRepository.First <Board>(board1 => board1.Lanes.Contains(laneToAddCard));
            var account       = _readOnlyRepository.First <Account>(account1 => account1.Id == session.User.Id);

            if (laneToAddCard != null && account != null)
            {
                var cardToAdd = _mappingEngine.Map <CardsCreationModel, Card>(model);
                cardToAdd.IsArchived = false;
                cardToAdd.Position   = laneToAddCard.Cards.Count() + 1;
                cardToAdd.AddMember(account);
                account.AddCard(cardToAdd);
                laneToAddCard.AddCards(cardToAdd);
                Card cardCreated = _writeOnlyRepository.Create(cardToAdd);
                if (cardCreated != null)
                {
                    string activityDone = "Add " + cardCreated.Text + " to " + board.Title;
                    board.AddActivity(ActivityHelper.CreateActivity(session.User, activityDone));
                    return(new SuccessfulMessageResponse("Lane was successfully created"));
                }
            }
            throw new BadRequestException("YThis Lane does not exist");
        }
Exemple #2
0
        public SuccessfulMessageResponse MoveCard([FromBody] CardMovedModel model, string token)
        {
            var session      = IsTokenExpired(token);
            var cardToMove   = _readOnlyRepository.GetById <Card>(model.CardToMove_id);
            var laneFromMove = _readOnlyRepository.GetById <Lane>(model.OldLane_id);
            var laneToMove   = _readOnlyRepository.GetById <Lane>(model.NewLane_id);
            var lane         = _readOnlyRepository.First <Lane>(lane1 => lane1.Cards.Contains(cardToMove));
            var board        = _readOnlyRepository.First <Board>(board1 => board1.Lanes.Contains(laneToMove));

            if (laneFromMove != null && laneToMove != null && cardToMove != null)
            {
                laneFromMove.Cards.ToList().Remove(cardToMove);
                laneToMove.AddCards(cardToMove);
                Lane laneFromMoveUpdated = _writeOnlyRepository.Update(laneFromMove);
                Lane laneToMoveUpdated   = _writeOnlyRepository.Update(laneToMove);
                cardToMove.Position = 5;
                laneToMove.AddCards(cardToMove);
                Card cardMoved = _writeOnlyRepository.Update(cardToMove);
                if (cardMoved != null && laneFromMoveUpdated != null && laneToMoveUpdated != null)
                {
                    string activityDone = "Moved " + cardMoved.Text + " from " + laneFromMove.Title + " to " + laneToMove.Title;
                    board.AddActivity(ActivityHelper.CreateActivity(session.User, activityDone));
                    return(new SuccessfulMessageResponse("Card was successfully moved"));
                }
            }
            throw new BadRequestException("Card could not be moved");
        }
Exemple #3
0
        public BoardModel AddMemberToBoard([FromBody] AddMemberBoardModel model, string token)
        {
            var session     = IsTokenExpired(token);
            var memberToAdd = _readOnlyRepository.GetById <Account>(model.MemberId);
            var board       = _readOnlyRepository.GetById <Board>(model.BoardId);

            if (board != null && memberToAdd != null)
            {
                board.AddMember(memberToAdd);
                memberToAdd.AddBoard(board);
                var    updateBoard  = _writeOnlyRepository.Update(board);
                var    boardModel   = _mappingEngine.Map <Board, BoardModel>(updateBoard);
                string activityDone = "Add " + memberToAdd.FirstName + " " + memberToAdd.LastName;
                board.AddActivity(ActivityHelper.CreateActivity(session.User, activityDone));
                return(boardModel);
            }
            throw  new BadRequestException("Member or Board does not exist");
        }
Exemple #4
0
        public SuccessfulMessageResponse DeletBoard([FromBody] BoardsRemovedModel model, string token)
        {
            var session       = IsTokenExpired(token);
            var account       = _readOnlyRepository.GetById <Account>(session.User.Id);
            var boardToRemove = _readOnlyRepository.GetById <Board>(model.Id);

            if (boardToRemove != null && boardToRemove.Administrador == account)
            {
                Board boardDeleted = _writeOnlyRepository.Archive(boardToRemove);
                if (boardDeleted != null)
                {
                    string activityDone = "Deleted " + boardToRemove.Title;
                    boardToRemove.AddActivity(ActivityHelper.CreateActivity(session.User, activityDone));
                    return(new SuccessfulMessageResponse("The board has been deleted"));
                }
            }
            throw new BadRequestException("You aren't the administrator of the Board");
        }
Exemple #5
0
        public SuccessfulMessageResponse DeletCard([FromBody] CardRemoveModel model, string token)
        {
            var session      = IsTokenExpired(token);
            var cardToRemove = _readOnlyRepository.GetById <Card>(model.Card_id);
            var lane         = _readOnlyRepository.First <Lane>(lane1 => lane1.Cards.Contains(cardToRemove));
            var board        = _readOnlyRepository.First <Board>(board1 => board1.Lanes.Contains(lane));

            if (cardToRemove != null)
            {
                Card cardDeleted = _writeOnlyRepository.Archive(cardToRemove);
                if (cardDeleted != null)
                {
                    string activityDone = "Deleted " + cardDeleted.Text + " from " + lane.Title;
                    board.AddActivity(ActivityHelper.CreateActivity(session.User, activityDone));
                    return(new SuccessfulMessageResponse("Card was successfully removed"));
                }
            }
            throw new BadRequestException("Card could not be removed");
        }
Exemple #6
0
        public SuccessfulMessageResponse RenameBoard([FromBody] RenameBoardModel model, string token)
        {
            var session       = IsTokenExpired(token);
            var account       = _readOnlyRepository.First <Account>(account1 => account1.Id == session.User.Id);
            var boardToRename = _readOnlyRepository.First <Board>(board1 => board1.Id == model.BoardToRename);

            if (boardToRename != null && boardToRename.Administrador == account)
            {
                boardToRename.Title = model.NewTitle;
                Board boardCreated = _writeOnlyRepository.Update(boardToRename);
                if (boardCreated != null)
                {
                    string activityDone = "Changed " + model.BoardToRename + " for " + model.NewTitle;
                    boardToRename.AddActivity(ActivityHelper.CreateActivity(session.User, activityDone));
                    return(new SuccessfulMessageResponse("The board has been renamed"));
                }
                throw new BadRequestException("You can't change the Title");
            }

            throw new BadRequestException("You aren't the administrator of the Board");
        }
Exemple #7
0
        public BoardModel CreateBoard([FromBody] BoardsCreationModel model, string token, long idOrganization)
        {
            var session      = IsTokenExpired(token);
            var account      = _readOnlyRepository.First <Account>(account1 => account1.Id == session.User.Id);
            var organization = _readOnlyRepository.GetById <Organization>(idOrganization);
            var boardToAdd   = _mappingEngine.Map <BoardsCreationModel, Board>(model);

            boardToAdd.Administrador = account;
            boardToAdd.AddMember(account);
            boardToAdd.IsArchived = false;
            account.AddBoard(boardToAdd);
            organization.AddBoard(boardToAdd);
            Board boardCreated = _writeOnlyRepository.Create(boardToAdd);

            if (boardCreated != null)
            {
                string activityDone = "Add " + boardToAdd.Title;
                boardToAdd.AddActivity(ActivityHelper.CreateActivity(session.User, activityDone));
                return(new BoardModel {
                    Title = boardCreated.Title, Id = boardCreated.Id
                });
            }
            throw new BadRequestException("The board could not be created");
        }