public async Task <Unit> Handle(DeleteCatalogItem request, CancellationToken cancellationToken) { var catalogItem = await _catalogItemRepository.GetByIdAsync(request.Id); if (catalogItem == null) { throw new ItemNotFoundException($"Catalog item with {request.Id} was not found"); } try { await _catalogItemRepository.DeleteAsync(catalogItem); return(Unit.Value); } catch (Exception) { throw new GeneralException($"Failed to delete an item with id {request.Id}"); } }