public async Task <IHttpActionResult> Delete(Guid id) { var command = new DeleteBrandCommand { Id = id }; var response = await Bus.Send <DeleteBrandCommand, DeleteBrandCommandResponse>(command); return(Ok(response)); }
public async Task <DeleteBrandCommandResponse> Handle(DeleteBrandCommand command) { var brand = await _repository.FindAsync(command.Id); if (brand == null) { throw new DomainException("برند یافت نشد"); } if (_productRepository.AsQuery().Any(p => p.Brand.Id == command.Id)) { throw new DomainException("این برند داای محصول می باشد و قادر به حذف ان نمی باشید"); } _repository.Remove(brand); return(new DeleteBrandCommandResponse()); }
public async Task <OperationResult <string> > Handle(DeleteBrandCommand request, CancellationToken cancellationToken) { var brand = await unitOfWork.CategoryRepository.BrandRepository.GetBrandById(request.BrandId, cancellationToken); if (brand.Success) { brand.Result.Delete(); var add = unitOfWork.CategoryRepository.BrandRepository.UpdateBrandAsync(brand.Result, cancellationToken); if (add.Success) { await unitOfWork.CommitSaveChangeAsync(); return(OperationResult <string> .BuildSuccessResult(add.Result)); } return(OperationResult <string> .BuildFailure(add.ErrorMessage)); } return(OperationResult <string> .BuildFailure(brand.ErrorMessage)); }
public async Task <IActionResult> Delete([FromQuery] DeleteBrandCommand command) { var result = await Mediator.Send(command); return(Ok(result)); }