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(); }
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(); }
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(); }