Exemplo n.º 1
0
        public void ReqFEELFactura()
        {
            RequestFactura req = new RequestFactura()
            {
                Factura = new FacturaEstandar()
            };

            RequestFactura req2 = new RequestFactura()
            {
                Factura = new NotaMonedaExtranjera()
            };

            Debug.WriteLine(req.ToString());
            Debug.WriteLine(req2.ToString());
        }
Exemplo n.º 2
0
        public ResponseFactura SimulacionFEEL(RequestFactura request)
        {
            // Thread.Sleep(500);
            request.Factura.Cabecera.CUF = "CUFprueba";
            ResponseFactura response = new ResponseFactura()
            {
                Factura = request.Factura,
                Proceso = new Proceso()
                {
                    CodEstado         = "123",
                    CodigoTipoFactura = (int)request.Factura.Tipo,
                    CUFD            = "CUFDPRUEBA",
                    IdDocFiscalERP  = request.IdDocFiscalERP,
                    IdDocFiscalFEEL = request.IdDocFiscalERP
                },
                Respuesta = new Respuesta()
                {
                    CodRespuesta = "0",
                    TxtRespuesta = "Exito"
                }
            };

            return(response);
        }
Exemplo n.º 3
0
        public void CambiarJsonNAMEprop()
        {
            Factura f1 = new FacturaEstandar()
            {
                Cabecera = new CabeceraFacturaEstandar()
                {
                    NumeroFactura = 102,
                    Direccion     = "GV",
                    FechaEmision  = "20190116180000",
                    CodigoTipoDocumentoIdentidad = "3",
                    CUF                   = null,
                    NumeroDocumento       = "5642111",
                    Complemento           = null,
                    CodigoSucursal        = 1,
                    CodigoPuntoVenta      = 123,
                    NombreRazonSocial     = "Juan Perez",
                    MontoTotal            = 50.5m,
                    MontoDescuento        = 0,
                    CodigoCliente         = "55421",
                    CodigoDocumentoSector = 1,
                    NITEmisor             = 305080026,
                    CodigoMetodoPago      = 1,
                    NumeroTarjeta         = 414,
                    Leyenda               = "Ley No 453: ",
                    Usuario               = "FTL",
                    CodigoMoneda          = 1,
                    MontoTotalMoneda      = 50.5m,
                    TipoCambio            = 6.96m
                },
                //ListaDetalle= new List<Detalle>()
            };

            ((FacturaEstandar)f1).ListaDetalle.Add(
                new DetalleFacturaEstandar()
            {
                ActividadEconomica    = 123123,
                CodigoProductoSIN     = 123,
                CodigoProducto        = 123,
                Descripcion           = "coca cola 1 litro",
                Cantidad              = 5,
                PrecioUnitario        = 10.1m,
                MontoDescuentoDetalle = 0,
                SubTotal              = 50.5m,
                NumeroSerie           = "ABC345",
                UnidadMedida          = "botella"
            });

            Factura f2 = new FacturaAlquiler()
            {
                Cabecera = new CabeceraFacturaAlquiler()
                {
                    NumeroFactura = 102,
                    Direccion     = "GV",
                    FechaEmision  = "20190116180000",
                    CodigoTipoDocumentoIdentidad = "3",
                    CUF                   = null,
                    NumeroDocumento       = "5642111",
                    Complemento           = null,
                    CodigoSucursal        = 1,
                    CodigoPuntoVenta      = 123,
                    NombreRazonSocial     = "Juan Perez",
                    MontoTotal            = 50.5m,
                    MontoDescuento        = 0,
                    CodigoCliente         = "55421",
                    CodigoDocumentoSector = 1,
                    NITEmisor             = 305080026,
                    CodigoMetodoPago      = 1,
                    PeriodoFacturado      = "string",
                    Leyenda               = "Ley No 453: ",
                    Usuario               = "FTL",
                    CodigoMoneda          = 1,
                    MontoTotalMoneda      = 50.5m,
                    TipoCambio            = 6.96m
                },
                //ListaDetalle = new List<Detalle>()
            };

            f2.ListaDetalle.Add(
                new Detalle()
            {
                ActividadEconomica    = 123123,
                CodigoProductoSIN     = 123,
                CodigoProducto        = 123,
                Descripcion           = "coca cola 1 litro",
                MontoDescuentoDetalle = 0,
                SubTotal     = 50.5m,
                UnidadMedida = "botella"
            });



            string r1 = @"{ ""respuesta"": null, ""proceso"":null, ""facturaEstandar"": " + f1.ToString() + "}";
            string r2 = @"{ ""respuesta"": null, ""proceso"": null, ""facturaAlquiler"": " + f2.ToString() + "}";
            string r3 = @"{ ""respuesta"": null, ""proceso"": null, ""fac"": null }";
            string r4 = @"{ ""respuesta"": {
                ""codRespuesta"": ""0"",
                ""txtRespuesta"": ""Exito""
                },
                ""proceso"": {
                                ""idDocFiscalFEEL"": 11,
                ""cufd"": ""42bf9913ec06745b7f3c5cc62b32a59e"",
                ""codEstado"": ""D1"",
                ""idDocFiscalERP"": ""3"",
                ""codigoTipoFactura"": 1
                },
                ""facturaEstandar"": {
                    ""cabecera"": {
                        ""numeroFactura"": 3,
                        ""direccion"": ""Gualberto villarroel 123"",
                        ""fechaEmision"": 20190101180000,
                        ""codigoTipoDocumentoIdentidad"": 1,
                        ""cuf"": ""B41ECAD147A6BE9D2AD905278126E6FB4B88B3E3"",
                        ""numeroDocumento"": ""5642111"",
                        ""complemento"": """",
                        ""codigoSucursal"": 0,
                        ""nombreRazonSocial"": ""Juan Perez"",
                        ""montoTotal"": 50.5,
                        ""codigoCliente"": ""55421"",
                        ""codigoDocumentoSector"": 1,
                        ""nitEmisor"": 1028305029,
                        ""codigoMetodoPago"": 1,
                        ""leyenda"": ""Ley N° 453: Los medios de comunicación deben promover el respeto de los derechos de los usuarios y consumidores."",
                        ""usuario"": ""FTL"",
                        ""codigoMoneda"": 1,
                        ""montoTotalMoneda"": 50.5,
                        ""tipoCambio"": 6.97,
                        ""numeroTarjeta"": 54321
                    },
                    ""detalle"": [
                        {
                            ""actividadEconomica"": 123123,
                            ""codigoProductoSin"": 123,
                            ""codigoProducto"": ""123"",
                            ""descripcion"": ""coca cola 1 litro"",
                            ""cantidad"": 5,
                            ""precioUnitario"": 10,
                            ""subTotal"": 10,
                            ""numeroSerie"": ""1234567ADC"",
                            ""unidadMedida"": ""botella""
                        },
                        {
                            ""actividadEconomica"": 123123,
                            ""codigoProductoSin"": 123,
                            ""codigoProducto"": ""123"",
                            ""descripcion"": ""Fanta 1 litro"",
                            ""cantidad"": 5,
                            ""precioUnitario"": 10,
                            ""subTotal"": 10,
                            ""numeroSerie"": ""1234567ADC"",
                            ""unidadMedida"": ""botella""
                        }
                    ]
                }
            }";
            string r5 = @"{ ""respuesta"": { ""codRespuesta"": ""1200"", ""txtRespuesta"": ""Error la facturaEstandar ya se encuentra registrada numeroFactura :3"" } }";

            RequestFactura reqq = new RequestFactura()
            {
                CodigoTipoFactura = 1,
                Contingencia      = false,
                Cufd           = "42bf9913ec06745b7f3c5cc62b32a59e",
                EsLote         = false,
                IdDocFiscalERP = "3",
                IdLoteERP      = "",
                UltFacturaLote = false,
                Factura        = f1
            };

            Debug.WriteLine(reqq);
            Debug.WriteLine(JObject.FromObject(reqq).ToString());

            ResponseFactura resp4 = new ResponseFactura(r4);

            Debug.WriteLine(resp4);
            Debug.WriteLine(((CabeceraFacturaEstandar)resp4.Factura.Cabecera).NumeroTarjeta);

            ResponseFactura resp5 = new ResponseFactura(r5);

            Debug.WriteLine(resp5);
            //ResponseFactura resp1 = JsonConvert.DeserializeObject<ResponseFactura>(r1, HelperJson.AdaptarResponseFactura(r1));
            //ResponseFactura resp2 = JsonConvert.DeserializeObject<ResponseFactura>(r2, HelperJson.AdaptarResponseFactura(r2));
            ////RequestFactura req3 = JsonConvert.DeserializeObject<RequestFactura>(r3, HelperJson.AdaptarResponseFactura(r3));

            //Debug.WriteLine(resp1.Factura.GetType().ToString());
            //Debug.WriteLine(resp2.Factura.GetType().ToString());
            //Debug.WriteLine((FacturaEstandar)resp1.Factura);
            //Debug.WriteLine((FacturaAlquiler)resp2.Factura);
        }
Exemplo n.º 4
0
        public RequestFactura ArmarFacturaElectronicaJson2(DataRow drCabeceraFactura, DataTable dtDetalleFactura)
        {
            string         facturaJson           = string.Empty;
            List <Detalle> ListadoDetalleFactura = new List <Detalle>();
            RequestFactura requestFactura        = new RequestFactura();

            //string file = Log.Instancia.GeneraNombreLog();
            //file += drCabeceraFactura["fehfeiddf"].ToString(); //nro. correlativo interno.

            try
            {
                Factura factura = FabricaFactura.Fabricar((TipoFactura)int.Parse(drCabeceraFactura["fehfecdse"].ToString()));
                CargarObjetoFactura(factura.Cabecera, drCabeceraFactura, factura.CamposDB);

                Detalle detalle = null;
                foreach (DataRow drDetalleFactura in dtDetalleFactura.Rows)
                {
                    detalle = FabricaFactura.FabricarDetalle(factura.Tipo);
                    CargarObjetoFactura(detalle, drDetalleFactura, factura.CamposDB);
#warning Completar este switch
                    switch (factura.Tipo)
                    {
                    case TipoFactura.facturaEstandar:
                        ((FacturaEstandar)factura).ListaDetalle.Add(detalle as DetalleFacturaEstandar);
                        break;

                    case TipoFactura.facturaColegio:
                        ((FacturaColegio)factura).ListaDetalle.Add(detalle as DetalleFacturaColegio);
                        break;

                    case TipoFactura.facturaAlquiler:
                        ((FacturaAlquiler)factura).ListaDetalle.Add(detalle as DetalleFacturaAlquiler);
                        break;

                    case TipoFactura.facturaCombustible:
                        ((FacturaCombustible)factura).ListaDetalle.Add(detalle as DetalleFacturaCombustible);
                        break;

                    case TipoFactura.facturaServicios:
                        ((FacturaServiciosBasicos)factura).ListaDetalle.Add(detalle as DetalleFacturaServiciosBasicos);
                        break;

                    case TipoFactura.facturaEmbotelladoras:
                        ((FacturaEmbotelladora)factura).ListaDetalle.Add(detalle as DetalleFacturaEmbotelladora);
                        break;

                    case TipoFactura.facturaBancos:
                        ((FacturaBanco)factura).ListaDetalle.Add(detalle as DetalleFacturaBanco);
                        break;

                    case TipoFactura.facturaHoteles:
                        ((FacturaHotel)factura).ListaDetalle.Add(detalle as DetalleFacturaHotel);
                        break;

                    case TipoFactura.facturaHospitales:
                        ((FacturaHospital)factura).ListaDetalle.Add(detalle as DetalleFacturaHospital);
                        break;

                    case TipoFactura.facturaJuegos:
                        ((FacturaJuego)factura).ListaDetalle.Add(detalle as DetalleFacturaJuego);
                        break;

                    case TipoFactura.facturaEspectaculoPublicoInternacional:
                        ((FacturaEspectaculoPublicoInternacional)factura).ListaDetalle.Add(detalle as DetalleFacturaEspectaculoPublicoInternacional);
                        break;

                    case TipoFactura.notaExportacion:
                        ((NotaExportacion)factura).ListaDetalle.Add(detalle as DetalleNotaExportacion);
                        break;

                    case TipoFactura.notaLibreConsignacion:
                        ((NotaLibreConsignacion)factura).ListaDetalle.Add(detalle as DetalleNotaLibreConsignacion);
                        break;

                    case TipoFactura.notaZonaFranca:
                        ((NotaZonaFranca)factura).ListaDetalle.Add(detalle as DetalleNotaZonaFranca);
                        break;

                    case TipoFactura.notaEspectaculoPublicoNacional:
                        ((NotaEspectaculoPublicoNacional)factura).ListaDetalle.Add(detalle as DetalleFacturaEspectaculoPublicoInternacional);
                        break;

                    case TipoFactura.notaSeguridadAlimentaria:
                        ((NotaSeguridadAlimentaria)factura).ListaDetalle.Add(detalle as DetalleNotaSeguridadAlimentaria);
                        break;

                    case TipoFactura.notaMonedaExtranjera:
                        ((NotaMonedaExtranjera)factura).ListaDetalle.Add(detalle as DetalleNotaMonedaExtranjera);
                        break;

                    //case TipoFactura.NOTA_DE_CREDITO_DEBITO:
                    //    break;
                    //case TipoFactura.NOTA_DE_CONCILIACION:
                    //    break;
                    //case TipoFactura.BOLETO_AEREO:
                    //    break;
                    case TipoFactura.notaTurismoReceptivo:
                        ((NotaTurismoReceptivo)factura).ListaDetalle.Add(detalle as DetalleNotaTurismoReceptivo);
                        break;

                    case TipoFactura.notaTasaCero:
                        factura.ListaDetalle.Add(detalle);
                        break;

                    case TipoFactura.facturaHidrocarburos:
                        ((FacturaHidrocarburos)factura).ListaDetalle.Add(detalle as DetalleFacturaHidrocarburos);
                        break;
                    }
                }

                requestFactura.Factura = factura;

                requestFactura.IdDocFiscalERP    = drCabeceraFactura["fehfeiddf"].ToString();
                requestFactura.Cufd              = null;
                requestFactura.Contingencia      = (drCabeceraFactura["fehfecont"].ToString() != "0");
                requestFactura.EsLote            = (drCabeceraFactura["fehfelote"].ToString() != "0");
                requestFactura.IdLoteERP         = drCabeceraFactura["fehfeidlo"].ToString();
                requestFactura.UltFacturaLote    = (drCabeceraFactura["fehfeufac"].ToString() != "0");
                requestFactura.CodigoTipoFactura = int.Parse(drCabeceraFactura["fehfectip"].ToString());
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
                //Log.Instancia.LogWS_Mensaje_FSX(file, "Excepción: ArmarFacturaElectronicaJson2(DataTable dtCabezeraFactura, DataTable dtDetalleFactura) \r\n" +
                //    ex.Message);
            }

            return(requestFactura);
        }