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; } }
public void Agregar_Test() { var codigoMoneda = "PEN"; var codigoTarjeta = "01"; var codigoCliente = "20167930868"; var numeroDocumentoNuevo = "B04300212011"; var correlativo = 1; var nuevoPedidoEESS = new PedidoEESS() { 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 = codigoCliente, 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" }; nuevoPedidoEESS.EstablecerReferenciaTipoDocumentoDeVenta("12"); nuevoPedidoEESS.EstablecerReferenciaTipoPagoDeVenta("01"); nuevoPedidoEESS.EstablecerReferenciaAlmacenDeVenta("24"); nuevoPedidoEESS.EstablecerReferenciaMonedaDeVenta(codigoMoneda); nuevoPedidoEESS.EstablecerReferenciaEstadoDocumentoDeVenta("OK"); nuevoPedidoEESS.EstablecerReferenciaCondicionPagoDeVenta("00"); nuevoPedidoEESS.EstablecerReferenciaVendedorDeVenta("76408758"); nuevoPedidoEESS.EstablecerReferenciaUsuarioSistemaDeVenta("VENDPLAYA"); nuevoPedidoEESS.EstablecerReferenciaImpuestoIgvDeCliente("IV"); nuevoPedidoEESS.EstablecerReferenciaImpuestoIscDeCliente("SC"); nuevoPedidoEESS.EstablecerReferenciaClienteDeVenta(codigoCliente); nuevoPedidoEESS.EstablecerReferenciaClaseTipoCambioDeVenta("TCONV"); nuevoPedidoEESS.EstablecerReferenciaConfiguracionPuntoVentaDeVenta("PTOVTA02"); nuevoPedidoEESS.EstablecerReferenciaEstadoDeVenta("1"); nuevoPedidoEESS.EstablecerReferenciaMonedaCreditoDeVenta("PEN"); nuevoPedidoEESS.EstablecerReferenciaClaseTipoCambioClienteCreditoDeVenta("TCONV"); nuevoPedidoEESS.EstablecerReferenciaTarjetaPromocionDeVenta("232323"); nuevoPedidoEESS.EstablecerReferenciaTarjetaDeVenta(codigoTarjeta); nuevoPedidoEESS.EstablecerReferenciaMonedaTarjetaDeVenta(codigoMoneda); nuevoPedidoEESS.AgregarNuevoPedidoEESSDetalle(1, 1, "7452", 0, 0, 0, 0, 19, 0, 23.00M, 0, 12.90M, 0, true, true, 2.6M, 2.6M, 0, 0, "ARTICULO PRUEBA", 1, 0, true, "", "40101", "UND", ""); nuevoPedidoEESS.AgregarNuevoPedidoEESSConVale(5465); _IRepositorioPedidoEESS.Agregar(nuevoPedidoEESS); var pedidoEncontrado = _IRepositorioPedidoEESS.ObtenerPorNumeroPedido(correlativo); Assert.True(correlativo == pedidoEncontrado.Correlativo); }