Beispiel #1
0
        public async Task <IHttpActionResult> Delete(Guid id)
        {
            var command = new DeleteBrandCommand
            {
                Id = id
            };
            var response = await Bus.Send <DeleteBrandCommand, DeleteBrandCommandResponse>(command);

            return(Ok(response));
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        public async Task <IActionResult> Delete([FromQuery] DeleteBrandCommand command)
        {
            var result = await Mediator.Send(command);

            return(Ok(result));
        }