public async Task Handle(ProductUnpublishedFromCategory message) { var prod = _productsRepository .SearchFor(p => p.Id == message.Id) .FirstOrDefault(); _productsRepository.Delete(prod); }
// Garder le compte des produits publiés // Mettre à jour le nombre de produits dans la hiérarchie de catégories parentes public async Task Handle(ProductUnpublishedFromCategory message) { var cat = _categoryRepository.GetById(message.Id); cat.VisibleProducts -= 1; cat.TotalVisibleProducts -= 1; _categoryRepository.Update(cat); Guid?parentId = cat.ParentId; while (parentId != null) { var parentCat = _categoryRepository.GetById(parentId.Value); parentCat.TotalVisibleProducts -= 1; _categoryRepository.Update(parentCat); parentId = parentCat.ParentId; } }