public IActionResult ConsultarPorId([FromBody] ConsultaNotaCompraPorIdRequestDTO request)
        {
            Guid guid = Guid.NewGuid();

            _log.RegistrarEvento($"{guid.ToString()}{Environment.NewLine}{Newtonsoft.Json.JsonConvert.SerializeObject(request)}");

            ConsultaNotaCompraPorIdResponseDTO response = new ConsultaNotaCompraPorIdResponseDTO();

            try
            {
                response.Result.Data = _notaCompraService.ConsultarNotaCompraPorId(request);

                response.Result.Success = true;
            }
            catch (ResultException ex)
            {
                response.Result = new Result()
                {
                    Success = true, ErrCode = ex.Result.ErrCode, Message = ex.Result.Message
                };
            }
            catch (Exception ex)
            {
                response.Result = new Result()
                {
                    Success = false, Message = "Ocurrio un problema en el servicio, intentelo nuevamente."
                };
                _log.RegistrarEvento(ex, guid.ToString());
            }

            _log.RegistrarEvento($"{guid.ToString()}{Environment.NewLine}{Newtonsoft.Json.JsonConvert.SerializeObject(response)}");

            return(Ok(response));
        }
        public ConsultaNotaCompraPorIdBE ConsultarNotaCompraPorId(ConsultaNotaCompraPorIdRequestDTO request)
        {
            ConsultaNotaCompraPorIdBE consultaNotaCompraPorIdBE = _INotaCompraRepository.ConsultarNotaCompraPorId(request.NotaCompraId);

            if (consultaNotaCompraPorIdBE != null)
            {
                if (consultaNotaCompraPorIdBE.EstadoId == NotaCompraEstados.PorLiquidar)
                {
                    List <ConsultaAdelantoBE> _adelantos = _IAdelantoRepository.ConsultarAdelantosPorNotaCompra(request.NotaCompraId, AdelantoEstados.PorLiquidar).ToList();

                    if (_adelantos.Count > 0)
                    {
                        decimal montoAdelanto = _adelantos.Sum(x => x.Monto);
                        consultaNotaCompraPorIdBE.TotalAdelanto = montoAdelanto;
                    }
                }

                if (!consultaNotaCompraPorIdBE.TotalAdelanto.HasValue)
                {
                    consultaNotaCompraPorIdBE.TotalAdelanto = 0;
                }

                if (!consultaNotaCompraPorIdBE.Importe.HasValue)
                {
                    consultaNotaCompraPorIdBE.Importe = 0;
                }

                consultaNotaCompraPorIdBE.TotalPagar = consultaNotaCompraPorIdBE.Importe.Value - consultaNotaCompraPorIdBE.TotalAdelanto.Value;
            }
            return(consultaNotaCompraPorIdBE);
        }