public async Task <Result <int> > Handle(DeleteBrandCommand command, CancellationToken cancellationToken) { var isBrandUsed = await _productRepository.IsBrandUsed(command.Id); if (!isBrandUsed) { var brand = await _unitOfWork.Repository <Brand>().GetByIdAsync(command.Id); await _unitOfWork.Repository <Brand>().DeleteAsync(brand); await _unitOfWork.ComitAndRemoveCache(cancellationToken, ApplicationConstants.Cache.GetAllBrandsCacheKey); return(await Result <int> .SuccessAsync(brand.Id, _localizer["Brand Deleted"])); } else { return(await Result <int> .FailAsync(_localizer["Deletion Not Allowed"])); } }
public async Task <Result <int> > Handle(DeleteBrandCommand command, CancellationToken cancellationToken) { var isBrandUsed = await _productRepository.IsBrandUsed(command.Id); if (!isBrandUsed) { var brand = await _unitOfWork.Repository <Brand>().GetByIdAsync(command.Id); await _unitOfWork.Repository <Brand>().DeleteAsync(brand); await _unitOfWork.Commit(cancellationToken); return(Result <int> .Success(brand.Id, "Brand Deleted")); } else { return(Result <int> .Fail("Deletion Not Allowed")); } }
public async Task <Result <int> > Handle(DeleteBrandCommand command, CancellationToken cancellationToken) { var isBrandUsed = await _unitOfWork.Repository <Product>() .Entities.Where(p => p.BrandId == command.Id).AnyAsync(); if (!isBrandUsed) { var brand = await _unitOfWork.Repository <Brand>().GetByIdAsync(command.Id); await _unitOfWork.Repository <Brand>().DeleteAsync(brand); await _unitOfWork.Commit(cancellationToken); return(Result <int> .Success(brand.Id, "Brand Deleted")); } else { return(Result <int> .Fail("Brand is still in use.")); } }