public async Task <IActionResult> InsertOrdenVenta([FromBody] OrdenVentaDTO ordenVentaDTO)
        {
            try
            {
                _logger.LogInformation("Insert Orden de Venta...");
                OrdenVentaDTO obj = await _mediator.Send(new GetOrdenVentaByIdyFacturaQuery(ordenVentaDTO.CodigoFactura.ToString()));

                if (obj != null)
                {
                    return(Ok(obj));
                }
                else
                {
                    await _mediator.Send(new InsertOrdenVentaCommand(ordenVentaDTO));

                    return(Ok());
                }
            }

            catch (Exception ex)
            {
                _logger.LogError(ex, "Error al insert la orden de venta");
            }
            return(BadRequest());
        }
        public async Task <IActionResult> GetOrdenVentaByIdFactura(string factura)
        {
            try
            {
                _logger.LogInformation("Obteniendo ordenes de Venta por el Codigo Factura...");
                OrdenVentaDTO obj = await _mediator.Send(new GetOrdenVentaByIdyFacturaQuery(factura));

                return(Ok(obj));;
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error al traer la orden de venta por el codigo Factura ");
            }
            return(BadRequest());
        }
        public async Task <IActionResult> GetOrdenVentaById(Guid guid)
        {
            try
            {
                _logger.LogInformation("Obteniendo ordene de Venta por Id...");
                OrdenVentaDTO objOrden = await _mediator.Send(new GetOrdenVentaByIdyListaProductosQuery(guid));

                return(Ok(objOrden));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error al traer las orden de venta por ID");
            }
            return(BadRequest());
        }
        public async Task <IActionResult> UpdateOrdenVenta([FromBody] OrdenVentaDTO ordenVentaDTO)
        {
            try
            {
                _logger.LogInformation("Acualizando ordene de Venta...");
                await _mediator.Send(new UpdateOrdenVentaCommand(ordenVentaDTO));

                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error al querer actualizar la orden de venta");
            }
            return(BadRequest());
        }
 public InsertOrdenVentaCommand(OrdenVentaDTO ordenVentaDto)
 {
     OrdenVentaDTO = ordenVentaDto;
 }
 public UpdateOrdenVentaCommand(OrdenVentaDTO ordenVentaDto)
 {
     OrdenVentaDTO = ordenVentaDto;
 }