Esempio n. 1
0
 public TasksService(IConnectionFactory factory)
 {
     context        = new DBContext(factory);
     taskRepository = new TaskRepository(context);
     itemRepository = new CheckListItemRepository(context);
 }
Esempio n. 2
0
        public UpdateTemplateBoard UpdateTemplateBoard(UpdateTemplateBoard updateTemplateBoard)
        {
            #region 1 - Recupera quadro template.

            if (string.IsNullOrEmpty(updateTemplateBoard.IdTemplateBoard))
            {
                updateTemplateBoard.AddNotification("IdBoard", "Id do quadro template não foi informado");
                return(updateTemplateBoard);
            }

            GetBoardById(updateTemplateBoard);

            if (updateTemplateBoard.Invalid)
            {
                return(updateTemplateBoard);
            }

            #endregion

            #region 2 - Recupera lista 'Backlog' no quadro template.

            GetBacklogList(updateTemplateBoard);

            if (updateTemplateBoard.Invalid)
            {
                return(updateTemplateBoard);
            }

            #endregion

            #region 3 - Cria os cartões.

            CardRepository cardRepository = new CardRepository();

            foreach (var topic in updateTemplateBoard.Estimate.Topics)
            {
                var createCard = new CreateCard
                                 (
                    updateTemplateBoard.Key,
                    updateTemplateBoard.Token,
                    updateTemplateBoard.BacklogList.Id,
                    topic
                                 );

                var createCardResponse = cardRepository.AddCard(createCard);

                if (createCard.Invalid)
                {
                    updateTemplateBoard.AddNotification(createCard.Notifications.FirstOrDefault().Property, createCard.Notifications.FirstOrDefault().Message);
                    return(updateTemplateBoard);
                }

                Card card = new Card()
                {
                    Id   = createCardResponse.Id,
                    Desc = createCardResponse.Description,
                    Name = createCardResponse.Name,
                };

                updateTemplateBoard.AddCard(card);

                #region 3.1 - Cria o CheckList "Tópicos a serem desenvolvidos".

                CheckListRepository checkListRepository = new CheckListRepository();

                var createCheckList = new CreateCheckList
                                      (
                    updateTemplateBoard.Key,
                    updateTemplateBoard.Token,
                    createCardResponse.Id,
                    "Tópicos que serão desenvolvidos"
                                      );

                // Não grava em nunhum lugar essa informação no momento, pois não é necessária. Caso em algum momento seja necessário utilizar essa informação, necessário implementar.
                var createCheckListResponse = checkListRepository.AddCheckList(createCheckList);

                if (createCheckList.Invalid)
                {
                    updateTemplateBoard.AddNotification(createCheckList.Notifications.FirstOrDefault().Property, createCheckList.Notifications.FirstOrDefault().Message);
                    return(updateTemplateBoard);
                }

                #endregion

                #region 3.2 - Cria os itens para o CheckList "Tópicos a serem desenvolvidos".

                int checkListItemCount = 0;

                foreach (var topic2 in topic.Topics)
                {
                    checkListItemCount++;

                    CheckListItemRepository checkListItemRepository = new CheckListItemRepository();

                    var createCheckListItem = new CreateCheckListItem
                                              (
                        updateTemplateBoard.Key,
                        updateTemplateBoard.Token,
                        createCheckListResponse.Id,
                        $"Ponto {checkListItemCount}"
                                              );

                    var checkListItemResponse = checkListItemRepository.AddCheckListItem(createCheckListItem);

                    if (createCheckList.Invalid)
                    {
                        updateTemplateBoard.AddNotification(createCheckList.Notifications.FirstOrDefault().Property, createCheckList.Notifications.FirstOrDefault().Message);
                        return(updateTemplateBoard);
                    }
                }

                #endregion
            }

            #endregion


            return(updateTemplateBoard);
        }