Example #1
0
        public void EnviarComproanteFallidos()
        {
            List <CENComprobSunat> listaComp   = new List <CENComprobSunat>();
            RequestApiBoleta       dataVenta   = new RequestApiBoleta();
            CLNConexionServicio    clnServicio = new CLNConexionServicio();
            CLNConsultas           consultas   = new CLNConsultas();
            CADcomprobSunat        cADcomprob  = new CADcomprobSunat();
            ResponseApi            respVenta   = new ResponseApi();
            string tramaSUNAT  = CENConstante.g_const_vacio;
            int    estadoSUNAT = CENConstante.g_const_0;
            bool   estado      = false;

            try
            {
                listaComp = ListarComprobantesFallidos();
                foreach (CENComprobSunat comprobante in listaComp)
                {
                    if (comprobante.codModulo == CENConstante.g_const_1 && comprobante.tipDocSunat == CENConstante.g_const_1)
                    {
                        //VENTA
                        estado = ValidarVenta(comprobante.tramEntrada);
                        if (estado)
                        {
                            dataVenta = JsonConvert.DeserializeObject <RequestApiBoleta>(
                                comprobante.tramEntrada);

                            respVenta  = clnServicio.RegistrarBoleta(dataVenta);
                            tramaSUNAT = JsonConvert.SerializeObject(respVenta);
                            if (respVenta.sunatResponse.success)
                            {
                                //ACTUALIZAR COMPROBANTE DE LA SUNAT - CORRECTO
                                estadoSUNAT = CENConstante.g_const_1;
                            }
                            else
                            {
                                //ACTUALIZAR COMPROBANTE DE LA SUNAT - INCORRECTO
                                estadoSUNAT = CENConstante.g_const_2;
                            }
                            cADcomprob.ActualizarComprobSunat(comprobante.ntraComprob, tramaSUNAT, estadoSUNAT);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public CENRespVenta RegistrarVenta(int codPreventa, int codCliente, int codVendedor, string fechPag, int tipoVenta,
                                           int tipoMoneda, double recargo, double IGV, double total, int sucursal, int tipoDocumentoVenta, int codPuntoEntrega)
        {
            CENRespVenta        respuesta   = new CENRespVenta();
            CADVenta            cad_venta   = new CADVenta();
            CEN_DataVenta       requestData = new CEN_DataVenta();
            RequestApiBoleta    dataApi     = new RequestApiBoleta();
            CLNConexionServicio conServicio = new CLNConexionServicio();
            ResponseApi         responseApi = new ResponseApi();
            int    estadoSUNAT = CENConstante.g_const_0;
            string tramaSUNAT  = CENConstante.g_const_vacio;

            try
            {
                requestData = LlenarDataVenta(codPreventa, codCliente, codVendedor, fechPag, tipoVenta, tipoMoneda,
                                              recargo, IGV, total, sucursal, tipoDocumentoVenta, codPuntoEntrega);
                respuesta = cad_venta.registrarVenta(requestData);
                if (respuesta.venta > CENConstante.g_const_0)
                {
                    //Registro de comprobante sunat
                    CLNComprobanteSunat comprobante = new CLNComprobanteSunat();
                    CENComprobSunat     dataComprob = new CENComprobSunat();
                    int    codigoComprob            = CENConstante.g_const_0;
                    string trama = CENConstante.g_const_vacio;
                    dataComprob.codModulo      = CENConstante.g_const_1;
                    dataComprob.codTransaccion = respuesta.venta;
                    dataComprob.tipDocSunat    = CENConstante.g_const_1;
                    dataComprob.tipDocVenta    = requestData.tipoVenta;
                    dataComprob.estado         = CENConstante.g_const_1;
                    dataComprob.usuario        = requestData.usuario;
                    dataComprob.ip             = CENConstante.g_const_vacio;
                    dataComprob.mac            = CENConstante.g_const_vacio;



                    //AGREGAR TRAMA PARA COMPROBANTE
                    if (requestData.tipoDocumentoVenta == CENConstante.g_const_1)
                    {
                        //Boleta
                        dataApi = ObtenerDataComprobante(requestData, respuesta, "0101");
                        trama   = JsonConvert.SerializeObject(dataApi);
                    }
                    else if (requestData.tipoDocumentoVenta == CENConstante.g_const_2)
                    {
                        //Factura
                        dataApi = ObtenerDataComprobante(requestData, respuesta, "0101");
                        trama   = JsonConvert.SerializeObject(dataApi);
                    }
                    dataComprob.tramEntrada = trama;
                    codigoComprob           = comprobante.RegistrarComprobSunat(dataComprob);

                    if (codigoComprob > CENConstante.g_const_0)
                    {
                        //ENVIO A LA SUNAT
                        responseApi = conServicio.RegistrarBoleta(dataApi);
                        tramaSUNAT  = JsonConvert.SerializeObject(responseApi);
                        if (responseApi.sunatResponse.success)
                        {
                            //ACTUALIZAR COMPROBANTE DE LA SUNAT
                            estadoSUNAT = CENConstante.g_const_1;
                        }
                        else
                        {
                            //ACTUALIZAR COMPROBANTE DE LA SUNAT
                            estadoSUNAT = CENConstante.g_const_2;
                        }

                        /*
                         * if (requestData.tipoDocumentoVenta == CENConstante.g_const_1)
                         * {
                         *  //Boleta
                         *  responseApi= conServicio.RegistrarBoleta(dataApi);
                         *  tramaSUNAT = JsonConvert.SerializeObject(responseApi);
                         *  if (responseApi.sunatResponse.success)
                         *  {
                         *      //ACTUALIZAR COMPROBANTE DE LA SUNAT
                         *      estadoSUNAT = CENConstante.g_const_1;
                         *  }
                         *  else
                         *  {
                         *      //ACTUALIZAR COMPROBANTE DE LA SUNAT
                         *      estadoSUNAT = CENConstante.g_const_2;
                         *  }
                         *
                         * }
                         * else if (requestData.tipoDocumentoVenta == CENConstante.g_const_2)
                         * {
                         *  //Factura
                         *
                         * }
                         */
                        comprobante.ActualizarComprobSunat(codigoComprob, tramaSUNAT, estadoSUNAT);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(respuesta);
        }