Exemple #1
0
        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)
                           ));
            }
        }
Exemple #2
0
        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());
        }