public IActionResult AgregarNuevaVenta([FromBody] VentaDTO pVentaDTO) { try { if (pVentaDTO == null) { return(BadRequest("Venta a grabar no puede ser nulo.")); } var estadoVentaAgregado = _IServicioAplicacionFacturacion.AgregarNuevaVenta(pVentaDTO); if (estadoVentaAgregado == null) { return(BadRequest( new ResultadoServicio <ResultadoVentaGrabadaDTO>(0, "Creacion de nueva venta fallo.", "", null, null) )); } return(Ok(estadoVentaAgregado)); } catch (Exception ex) { return(BadRequest( new ResultadoServicio <ResultadoVentaGrabadaDTO>(0, "Creacion de nueva venta fallo.", ex.Message, null, null) )); } }
public void AgregarNuevaVenta_Test() { var rucCliente = "20440484345"; var codigoMoneda = "PEN"; var codigoTarjeta = "01"; var numeroDocumentoNuevo = "F04200040931"; //"1200001200"; var codigoAlmacen = "24"; var codigoTipoNegocio = "1"; var fechaInicioVentas = "20200101"; var fechaFinVentas = "20201231"; var nuevoVentaDto = new VentaDTO() { NumeroDocumento = numeroDocumentoNuevo, 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, TotalAfectoNacional = 0, ValorVenta = 0, PorcentajeDescuentoPrimero = 0, PorcentajeDescuentoSegundo = 0, TotalDescuentoNacional = 0, TotalDescuentoExtranjera = 0, TotalVueltoNacional = 0, TotalVueltoExtranjera = 0, TotalEfectivoNacional = 0, TotalEfectivoExtranjera = 0, RucCliente = rucCliente, NombreCompletoCliente = "PTS S.A - VENTA DE PRUEBA 2", Placa = "SQL-2020", NumeroVale = 7777, TipoCambio = 3.56M, ProcesadoCierreZ = false, ProcesadoCierreX = false, Kilometraje = 0, // TipoPagoCodigoTipoPago = "", EsVentaPagoAdelantado = false, TipoDeVenta = "M", FlagCambioDeMonedaEnVuelto = false, TotalFaltanteExtranjera = 0, TotalFaltanteNacional = 0, CodigoMonedaVuelto = codigoMoneda, CodigoMoneda = codigoMoneda, CodigoClaseTipoCambio = "TCONV", CodigoCliente = rucCliente, CodigoTipoDocumento = "12", CodigoEstadoDocumento = "OK", CodigoVendedor = "76408758", CodigoCondicionPago = "00", CodigoTipoPago = "01", CodigoPuntoDeVenta = "PTOVTA02", CodigoAlmacen = codigoAlmacen, CodigoTipoNegocio = "1", CodigoUsuarioDeSistema = "VENDPLAYA", CodigoImpuestoIgv = "IV", CodigoImpuestoIsc = "SC", }; nuevoVentaDto.TipoPago = new TipoPagoDTO { }; nuevoVentaDto.VentaDetalles = new List <VentaDetalleDTO>() { new VentaDetalleDTO { Secuencia = 1, NumeroTurno = 1, NumeroCara = "1", PorcentajeImpuestoIgv = 18, PorcentajeImpuestoIsc = 0, TotalNacional = 52.25M, TotalExtranjera = 35.25M, ImpuestoNacional = 25.23M, ImpuestoExtranjera = 12.56M, PorcentajeDescuentoPrimero = 0, TotalDescuentoNacional = 0, TotalDescuentoExtranjera = 0, Precio = 12.56M, PrecioVenta = 12.56M, DescripcionArticulo = "PECSA LUBRIMAX GASOLINERO SAE 40 API *1/4 GLN", Cantidad = 2, EsFormula = 0, EsInventariable = true, EnInventarioFisico = false, CodigoArticulo = "030109", CodigoArticuloAlterno = "" } , new VentaDetalleDTO { Secuencia = 2, NumeroTurno = 1, NumeroCara = "1", PorcentajeImpuestoIgv = 18, PorcentajeImpuestoIsc = 0, TotalNacional = 52.25M, TotalExtranjera = 35.25M, ImpuestoNacional = 25.23M, ImpuestoExtranjera = 12.56M, PorcentajeDescuentoPrimero = 0, TotalDescuentoNacional = 0, TotalDescuentoExtranjera = 0, Precio = 12.56M, PrecioVenta = 12.56M, DescripcionArticulo = "ACEITE 2 T", Cantidad = 2, EsFormula = 0, EsInventariable = true, EnInventarioFisico = false, CodigoArticulo = "20101", CodigoArticuloAlterno = "" } }; nuevoVentaDto.VentaConTarjetas = new List <VentaConTarjetaDTO>() { new VentaConTarjetaDTO { Secuencia = 1, NumeroTarjeta = "7557", TotalTarjetaNacional = 56.23M, TotalTarjetaExtranjera = 35.26M, CodigoMoneda = codigoMoneda, CodigoTarjeta = codigoTarjeta } }; nuevoVentaDto.VentaConVales = new List <VentaConValeDTO>() { new VentaConValeDTO { NumeroVale = 5555, MontoVale = 78.23M } }; // nuevoVentaDto.DocumentosAnticipado = new List<DocumentoAnticipadoDTO>(){ // new DocumentoAnticipadoDTO{ // } // }; // nuevoVentaDto.CuentasPorCobrar = new List<CuentaPorCobrarDTO>() // { // new CuentaPorCobrarDTO{ // Referencia = 9999, // FechaVencimiento = DateTime.Now, // PagoDocumentoNacional = 0, // PagoDocumentoExtranjera = 0, // SaldoDocumentoNacional = 0, // SaldoDocumentoExtranjera = 0, // DiasDeGracia = 0, // NumeroVale = 0, // CodigoEstadoDocumento = "PE", // CodigoDiaDePago = "DEFAULT0", // CodigoTipoDocumentoReferencia = string.Empty // } // }; ResultadoServicio <ResultadoVentaGrabadaDTO> nuevaVentaCreado = _IServicioAplicacionFacturacion.AgregarNuevaVenta(nuevoVentaDto); ResultadoServicio <VentaListadoDTO> ventaBuscada = _IServicioAplicacionFacturacion.BuscarVentas(codigoAlmacen, fechaInicioVentas, fechaFinVentas, numeroDocumentoNuevo, codigoTipoNegocio); Assert.True(nuevaVentaCreado.Dato.NumeroDocumento.Trim() == ventaBuscada.Datos.FirstOrDefault().NumeroDocumento.Trim()); Assert.True(nuevaVentaCreado.Dato.RucCliente.Trim() == ventaBuscada.Datos.FirstOrDefault().RucCliente.Trim()); }