public IActionResult AgregarNuevoPedidoEESS([FromBody] PedidoEESSDTO pPedidoEESSDTO) { try { if (pPedidoEESSDTO == null) { return(BadRequest("Pedido EESS a grabar no puede ser nulo.")); } var estadoPedidoEESSAgregado = _IServicioAplicacionPedidos.AgregarNuevoPedidoEESS(pPedidoEESSDTO); if (estadoPedidoEESSAgregado == null) { return(BadRequest( new ResultadoServicio <ResultadoPedidoEESSGrabadoDTO>(6, "Creacion de nuevo Pedido EESS fallo.", "", null, null) )); } return(Ok(estadoPedidoEESSAgregado)); } catch (Exception ex) { return(BadRequest( new ResultadoServicio <ResultadoPedidoEESSGrabadoDTO>(6, "Creacion de nuevo Pedido EESS fallo.", ex.Message, null, null) )); } }
public ResultadoServicio <ResultadoPedidoEESSGrabadoDTO> AgregarNuevoPedidoEESS(PedidoEESSDTO pPedidoEESSDTO) { var pedidoEESSExistente = _IRepositorioPedidoEESS.ObtenerPorNumeroPedido(pPedidoEESSDTO.Correlativo); if (pedidoEESSExistente != null) { LogFactory.CrearLog().LogWarning(Mensajes.advertencia_PedidoEESSYaRegistrado); throw new ArgumentException(Mensajes.advertencia_PedidoEESSYaRegistrado); } var nuevoPedidoEESS = CrearNuevoPedidoEESS(pPedidoEESSDTO); GrabarTransaccionNuevoPedidoEESS(nuevoPedidoEESS); if (nuevoPedidoEESS != null) { return(new ResultadoServicio <ResultadoPedidoEESSGrabadoDTO>(7, Mensajes.advertencia_ExitosaCreacionNuevoPedidoEESS, string.Empty, nuevoPedidoEESS.ProyectadoComo <ResultadoPedidoEESSGrabadoDTO>(), null)); } else { LogFactory.CrearLog().LogWarning(Mensajes.advertencia_FalloCreacionNuevoPedidoEESS); return(new ResultadoServicio <ResultadoPedidoEESSGrabadoDTO>(6, Mensajes.advertencia_FalloCreacionNuevoPedidoEESS, string.Empty, nuevoPedidoEESS.ProyectadoComo <ResultadoPedidoEESSGrabadoDTO>(), null)); } }
public void AgregarNuevoPedidoEESS_Test() { var correlativo = 2001; var ruCliente = "20482215999"; var codigoMoneda = "PEN"; var codigoTarjeta = "01"; var numeroDocumentoNuevo = "B04300212011"; var codigoAlmacen = "24"; var nuevoPedidoEESS = new PedidoEESSDTO() { Correlativo = correlativo, NumeroCara = "03", NumeroDocumento = numeroDocumentoNuevo, AfectaInventario = true, FechaDocumento = DateTime.Now, FechaProceso = DateTime.Now, Periodo = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString(), TotalNacional = 50.00M, TotalExtranjera = 16.66M, SubTotalNacional = 45.50M, SubTotalExtranjera = 23.65M, ImpuestoIgvNacional = 12.23M, ImpuestoIgvExtranjera = 25.56M, ImpuestoIscNacional = 0, ImpuestoIscExtranjera = 0, TotalNoAfectoNacional = 0, TotalNoAfectoExtranjera = 0, PorcentajeDescuentoPrimero = 0, PorcentajeDescuentoSegundo = 0, TotalDescuentoNacional = 0, TotalDescuentoExtranjera = 0, TotalVueltoNacional = 2.5M, TotalVueltoExtranjera = 0.00M, TotalEfectivoNacional = 60.00M, TotalEfectivoExtranjera = 0.00M, RucCliente = ruCliente, NombreCompletoCliente = "PTS S.A - VENTA DE PRUEBA 2", Placa = "SQL-2020", NumeroVale = 7777, TipoCambio = 3.56M, ProcesadoCierreZ = false, ProcesadoCierreX = false, NumeroPuntos = 60, NombreTerminal = "PC-100", Kilometraje = 45, DireccionCliente = "LIMA 100", TipoCliente = 1, DescripcionTipoCliente = "", DescripcionEstado = "ACTIVO", TipoCambioClienteCredito = 3.35m, DiasDeGraciaClienteCredito = 4, LimiteCreditoClienteCredito = 24.89M, DeudaClienteClienteCredito = 45.78M, PlusCreditoClienteCredito = 23.9M, Afecto = false, NumeroTarjeta = "7898", PagoTarjeta = 1, DescripcionTarjeta = "VISA", CodigoTipoDocumento = "12", CodigoTipoPago = "01", CodigoAlmacen = "24", CodigoMoneda = codigoMoneda, CodigoEstadoDocumento = "OK", CodigoCondicionPago = "00", CodigoVendedor = "76408758", CodigoUsuarioDeSistema = "VENDPLAYA", CodigoImpuestoIgv = "IV", CodigoImpuestoIsc = "SC", CodigoCliente = ruCliente, CodigoClaseTipoCambio = "TCONV", CodigoPuntoDeVenta = "PTOVTA02", CodigoEstado = "1", CodigoMonedaCredito = "PEN", CodigoClaseTipoCambioClienteCredito = "TCONV", CodigoTarjetaPromocion = "232323", CodigoTarjeta = codigoTarjeta, CodigoMonedaTarjeta = codigoMoneda }; nuevoPedidoEESS.PedidoEESSDetalles = new List <PedidoEESSDetalleDTO>() { new PedidoEESSDetalleDTO { // Correlativo = correlativo, Secuencia = 1, // NumeroDocumento = "", // FechaDocumento = "", // FechaProceso = "", // Periodo = "", // ProcesadoCierreZ = "", // ProcesadoCierreX = "", NumeroTurno = 1, // NumeroCara = "", NumeroTransaccionCombustible = "7452", PorcentajeDescuentoPrimero = 0, PorcentajeDescuentoSegundo = 0, PorcentajeDescuentoNacional = 0, PorcentajeDescuentoExtranjera = 0, PorcentajeImpuestoIgv = 19, PorcentajeImpuestoIsc = 0, TotalNacional = 23.00M, TotalExtranjera = 0, ImpuestoNacional = 12.90M, ImpuestoExtranjera = 0, EsInventariable = true, EnInventarioFisico = true, Precio = 2.6M, PrecioVenta = 2.6M, CostoEstandarNacional = 0, CostoEstandarExtranjera = 0, DescripcionArticulo = "ARTICULO PRUEBA", Cantidad = 1, EsFormula = 0, EsArticuloCombustible = true, NumeroPeaje = "", // CodigoTipoDocumento = "", CodigoAlmacen = codigoAlmacen, CodigoArticulo = "40101", // CodigoMoneda = "", // CodigoEstadoDocumento = "", // CodigoPuntoDeVenta = "", CodigoUnidadDeMedida = "UND", // CodigoUsuarioDeSistema = "", CodigoArticuloAlterno = "" }, new PedidoEESSDetalleDTO { // Correlativo = correlativo, Secuencia = 2, // NumeroDocumento = "", // FechaDocumento = "", // FechaProceso = "", // Periodo = "", // ProcesadoCierreZ = "", // ProcesadoCierreX = "", NumeroTurno = 1, // NumeroCara = "", NumeroTransaccionCombustible = "7452", PorcentajeDescuentoPrimero = 0, PorcentajeDescuentoSegundo = 0, PorcentajeDescuentoNacional = 0, PorcentajeDescuentoExtranjera = 0, PorcentajeImpuestoIgv = 19, PorcentajeImpuestoIsc = 0, TotalNacional = 23.00M, TotalExtranjera = 0, ImpuestoNacional = 12.90M, ImpuestoExtranjera = 0, EsInventariable = true, EnInventarioFisico = true, Precio = 2.6M, PrecioVenta = 2.6M, CostoEstandarNacional = 0, CostoEstandarExtranjera = 0, DescripcionArticulo = "ARTICULO PRUEBA", Cantidad = 1, EsFormula = 0, EsArticuloCombustible = true, NumeroPeaje = "", // CodigoTipoDocumento = "", CodigoAlmacen = codigoAlmacen, CodigoArticulo = "40101", // CodigoMoneda = "", // CodigoEstadoDocumento = "", // CodigoPuntoDeVenta = "", CodigoUnidadDeMedida = "UND", // CodigoUsuarioDeSistema = "", CodigoArticuloAlterno = "" } }; nuevoPedidoEESS.PedidoEESSConVales = new List <PedidoEESSConValeDTO>() { new PedidoEESSConValeDTO { // Correlativo = correlativo, NumeroVale = 7777, // CodigoCliente = "", // CodigoAlmacen = "" } }; ResultadoServicio <ResultadoPedidoEESSGrabadoDTO> pedidoEESSCreado = _IServicioAplicacionPedidos .AgregarNuevoPedidoEESS(nuevoPedidoEESS); ResultadoServicio <PedidoEESSDTO> pedidoEESPorCorrelativoBuscado = _IServicioAplicacionPedidos .BuscarPedidoEESSPorNumero(correlativo); Assert.True(pedidoEESSCreado.Dato.Correlativo == pedidoEESPorCorrelativoBuscado.Dato.Correlativo); Assert.True(pedidoEESSCreado.Dato.RucCliente.Trim() == pedidoEESPorCorrelativoBuscado.Dato.RucCliente.Trim()); }
PedidoEESS CrearNuevoPedidoEESS(PedidoEESSDTO pPedidoEESSDTO) { try { PedidoEESS nuevoPedido = PedidoEESSFactory.CrearPedidoEESS(pPedidoEESSDTO.Correlativo, pPedidoEESSDTO.NumeroCara, pPedidoEESSDTO.NumeroDocumento, pPedidoEESSDTO.AfectaInventario, pPedidoEESSDTO.FechaDocumento, pPedidoEESSDTO.FechaProceso, pPedidoEESSDTO.Periodo, pPedidoEESSDTO.TotalNacional, pPedidoEESSDTO.TotalExtranjera, pPedidoEESSDTO.SubTotalNacional, pPedidoEESSDTO.SubTotalExtranjera, pPedidoEESSDTO.ImpuestoIgvNacional, pPedidoEESSDTO.ImpuestoIgvExtranjera, pPedidoEESSDTO.ImpuestoIscNacional, pPedidoEESSDTO.ImpuestoIscExtranjera, pPedidoEESSDTO.TotalNoAfectoNacional, pPedidoEESSDTO.TotalNoAfectoExtranjera, pPedidoEESSDTO.PorcentajeDescuentoPrimero, pPedidoEESSDTO.PorcentajeDescuentoSegundo, pPedidoEESSDTO.TotalDescuentoNacional, pPedidoEESSDTO.TotalDescuentoExtranjera, pPedidoEESSDTO.TotalVueltoNacional, pPedidoEESSDTO.TotalVueltoExtranjera, pPedidoEESSDTO.TotalEfectivoNacional, pPedidoEESSDTO.TotalEfectivoExtranjera, pPedidoEESSDTO.RucCliente, pPedidoEESSDTO.NombreCompletoCliente, pPedidoEESSDTO.Placa, pPedidoEESSDTO.NumeroVale, pPedidoEESSDTO.TipoCambio, pPedidoEESSDTO.ProcesadoCierreZ, pPedidoEESSDTO.ProcesadoCierreX, pPedidoEESSDTO.NumeroPuntos, pPedidoEESSDTO.NombreTerminal, pPedidoEESSDTO.Kilometraje, pPedidoEESSDTO.DireccionCliente, pPedidoEESSDTO.TipoCliente, pPedidoEESSDTO.DescripcionTipoCliente, pPedidoEESSDTO.DescripcionEstado, pPedidoEESSDTO.TipoCambioClienteCredito, pPedidoEESSDTO.DiasDeGraciaClienteCredito, pPedidoEESSDTO.LimiteCreditoClienteCredito, pPedidoEESSDTO.DeudaClienteClienteCredito, pPedidoEESSDTO.PlusCreditoClienteCredito, pPedidoEESSDTO.Afecto, pPedidoEESSDTO.NumeroTarjeta, pPedidoEESSDTO.PagoTarjeta, pPedidoEESSDTO.DescripcionTarjeta, pPedidoEESSDTO.CodigoTipoDocumento, pPedidoEESSDTO.CodigoTipoPago, pPedidoEESSDTO.CodigoAlmacen, pPedidoEESSDTO.CodigoMoneda, pPedidoEESSDTO.CodigoEstadoDocumento, pPedidoEESSDTO.CodigoCondicionPago, pPedidoEESSDTO.CodigoVendedor, pPedidoEESSDTO.CodigoUsuarioDeSistema, pPedidoEESSDTO.CodigoImpuestoIgv, pPedidoEESSDTO.CodigoImpuestoIsc, pPedidoEESSDTO.CodigoCliente, pPedidoEESSDTO.CodigoClaseTipoCambio, pPedidoEESSDTO.CodigoPuntoDeVenta, pPedidoEESSDTO.CodigoEstado, pPedidoEESSDTO.CodigoMonedaCredito, pPedidoEESSDTO.CodigoClaseTipoCambioClienteCredito, pPedidoEESSDTO.CodigoTarjetaPromocion, pPedidoEESSDTO.CodigoTarjeta, pPedidoEESSDTO.CodigoMonedaTarjeta); //Detalle de Pedido if (pPedidoEESSDTO.PedidoEESSDetalles != null && pPedidoEESSDTO.PedidoEESSDetalles.Any()) { foreach (var pedidoDetalle in pPedidoEESSDTO.PedidoEESSDetalles) { //Obtener Articulo y Precio var articulo = _IRepositorioArticulo.ObtenerPorCodigo(pedidoDetalle.CodigoArticulo, pedidoDetalle.CodigoAlmacen); if (articulo == null) { LogFactory.CrearLog().LogWarning(Mensajes.advertencia_ArticuloAsociadoAVentaDetalleNoExiste); throw new ArgumentException(Mensajes.advertencia_ArticuloAsociadoAVentaDetalleNoExiste); } var detalleDePedido = nuevoPedido.AgregarNuevoPedidoEESSDetalle(pedidoDetalle.Secuencia, pedidoDetalle.NumeroTurno, pedidoDetalle.NumeroTransaccionCombustible, pedidoDetalle.PorcentajeDescuentoPrimero, pedidoDetalle.PorcentajeDescuentoSegundo, pedidoDetalle.PorcentajeDescuentoNacional, pedidoDetalle.PorcentajeDescuentoExtranjera, pedidoDetalle.PorcentajeImpuestoIgv, pedidoDetalle.PorcentajeImpuestoIsc, pedidoDetalle.TotalNacional, pedidoDetalle.TotalExtranjera, pedidoDetalle.ImpuestoNacional, pedidoDetalle.ImpuestoExtranjera, pedidoDetalle.EsInventariable, pedidoDetalle.EnInventarioFisico, pedidoDetalle.Precio, pedidoDetalle.PrecioVenta, pedidoDetalle.CostoEstandarNacional, pedidoDetalle.CostoEstandarExtranjera, pedidoDetalle.DescripcionArticulo, pedidoDetalle.Cantidad, pedidoDetalle.EsFormula, pedidoDetalle.EsArticuloCombustible, pedidoDetalle.NumeroPeaje, pedidoDetalle.CodigoArticulo, pedidoDetalle.CodigoUnidadDeMedida, pedidoDetalle.CodigoArticuloAlterno); } } //Pago Con Vale if (pPedidoEESSDTO.PedidoEESSConVales != null && pPedidoEESSDTO.PedidoEESSConVales.Any()) { foreach (var pedidoConVale in pPedidoEESSDTO.PedidoEESSConVales) { var pedidoPagaVale = nuevoPedido.AgregarNuevoPedidoEESSConVale(pedidoConVale.NumeroVale); } } return(nuevoPedido); } catch (Exception ex) { string detallesAsicionales = string.Empty; string cadenaExcepcion = ex.Message; if (ex.InnerException != null) { detallesAsicionales = " .Detalles Interno: " + ex.InnerException != null && ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : "Ver Detalles."; } LogFactory.CrearLog().LogWarning(cadenaExcepcion + detallesAsicionales); throw; } }