public async Task Handle(SubItemCreated notification, CancellationToken cancellationToken)
        {
            var subItems = await _subItemRepository.FindAllSubItemsByListItemIdAsync(notification.SubItem.ListItemId.GetValueOrDefault());

            var listItem = await _listItemRepository.FindToDoListItemByIdAsync(notification.SubItem.ListItemId.GetValueOrDefault());

            listItem.SetCompleted(subItems);

            await _listItemRepository.SaveChangesAsync();
        }
Esempio n. 2
0
        public async Task Handle(SubItemMovedToTrash notification, CancellationToken cancellationToken)
        {
            var item = await _todoListItemRepository.FindToDoListItemByIdAsync(notification.ItemId.GetValueOrDefault());

            var subItems = await _subItemRepository.FindAllSubItemsByListItemIdAsync(item.Id);

            item.SetHasSubItems(subItems.Count > 0);

            await _todoListItemRepository.SaveChangesAsync();
        }
Esempio n. 3
0
        public async Task Handle(TrashedList notification, CancellationToken cancellationToken)
        {
            var itemsInList = await _itemRepository.FindAllTodoListItemsByListIdAsync(notification.ListId);

            foreach (var item in itemsInList)
            {
                var subitems = await _subItem.FindAllSubItemsByListItemIdAsync(item.Id);

                foreach (var subItem in subitems)
                {
                    subItem.MoveToTrash();
                }

                item.MoveToTrash();
            }

            await _itemRepository.SaveChangesAsync();
        }