public TasksService(IConnectionFactory factory) { context = new DBContext(factory); taskRepository = new TaskRepository(context); itemRepository = new CheckListItemRepository(context); }
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); }