public async Task <Producto> Handle(GetProductoQuery request, CancellationToken cancellationToken) { if (request.ProductoId <= 0) { throw new ArgumentException(nameof(request.ProductoId)); } return(await _productoRepository.FindByIdAsync(request.ProductoId)); }
public async Task <Response <Producto> > Handle(DeleteProductoCommand request, CancellationToken cancellationToken) { var producto = await _repository.FindByIdAsync(request.Id); if (producto == null) { return(new Response <Producto>("Producto No Encontrado.")); } _repository.Delete(producto); await _unitOfWork.CompleteAsync(); return(new Response <Producto>(producto)); }
public async Task <Response <Producto> > Handle(UpdateProductoCommand request, CancellationToken cancellationToken) { var producto = await _repository.FindByIdAsync(request.Id); if (producto == null) { return(new Response <Producto>("Producto No Encontrado.")); } producto.Nombre = request.Nombre; producto.Costo = request.Costo; producto.Precio = request.Precio; producto.Stock = request.Stock; _repository.Update(producto); await _unitOfWork.CompleteAsync(); return(new Response <Producto>(producto)); }