コード例 #1
0
        public int RegistrarComprobSunat(CENComprobSunat data)
        {
            //DESCRIPCION: REGISTRAR COMPROBANTE DE LA SUNAT
            SqlDataReader dr;                           //data reader
            CADConexion   conector = new CADConexion(); // Conexión
            int           codigo   = CENConstante.g_const_0;

            try
            {
                using (Connection = new SqlConnection(conector.CxSQL()))
                {
                    conector.AbrirConexion(Connection);

                    using (SqlCommand Command = new SqlCommand("pa_registrar_comprobante_sunat", Connection))
                    {
                        Command.CommandType = CommandType.StoredProcedure;
                        Command.Parameters.Add("@p_codTransaccion", SqlDbType.Int).Value   = data.codTransaccion;
                        Command.Parameters.Add("@p_codModulo", SqlDbType.SmallInt).Value   = data.codModulo;
                        Command.Parameters.Add("@p_tipDocSunat", SqlDbType.SmallInt).Value = data.tipDocSunat;
                        Command.Parameters.Add("@p_tipDocVenta", SqlDbType.SmallInt).Value = data.tipDocVenta;
                        Command.Parameters.Add("@p_tramEntrada", SqlDbType.VarChar).Value  = data.tramEntrada;
                        Command.Parameters.Add("@p_estado", SqlDbType.SmallInt).Value      = data.estado;
                        Command.Parameters.Add("@p_usuario", SqlDbType.VarChar, CENConstante.g_const_20).Value = data.estado;
                        Command.Parameters.Add("@p_ip", SqlDbType.VarChar, CENConstante.g_const_20).Value      = data.ip;
                        Command.Parameters.Add("@p_mac", SqlDbType.VarChar, CENConstante.g_const_20).Value     = data.mac;

                        Command.CommandTimeout = CENConstante.g_const_0;
                        dr = Command.ExecuteReader();
                        if (dr.HasRows)
                        {
                            while (dr.Read())
                            {
                                if (dr["codigo"] != DBNull.Value)
                                {
                                    codigo = Convert.ToInt32(dr["codigo"].ToString().Trim());
                                }
                            }
                        }
                        dr.Close();
                    }
                }
                return(codigo);
            }

            catch (Exception ex)
            {
                throw ex;
            }

            finally
            {
                conector.CerrarConexion(Connection);
            }
        }
コード例 #2
0
        public int RegistrarComprobSunat(CENComprobSunat data)
        {
            CADcomprobSunat cADcomprob = new CADcomprobSunat();

            try
            {
                return(cADcomprob.RegistrarComprobSunat(data));
            }catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #3
0
        public void enviarNCSunat(int codVenta, int codNC, int codVentaN, int tipoNC, string usuario, string ip, string mac)
        {
            CENApiNC             obj            = null;
            CENLegends           legends        = null;
            CLNProcesosGenerales pg             = new CLNProcesosGenerales();
            CADNotaCredito       cadNotaCredito = new CADNotaCredito();
            CADcomprobSunat      cadComprob     = new CADcomprobSunat();
            CENComprobSunat      cenComprob     = null;
            ResponseApi          responseApi    = new ResponseApi();
            int    codComprobSunat;
            string DataJSON;
            string DataJSONSalida;
            int    flag = CENConstante.g_const_2;

            try
            {
                obj           = cadNotaCredito.obtenerDatosSunat(codVenta, codNC, codVentaN);
                legends       = new CENLegends();
                legends.code  = "1000";
                legends.value = pg.convertirALetras(obj.mtoImpVenta.ToString());
                obj.legends.Add(legends);

                DataJSON = JsonConvert.SerializeObject(obj);

                cenComprob = new CENComprobSunat();
                cenComprob.codTransaccion = codNC;
                cenComprob.codModulo      = CENConstante.g_const_1;
                cenComprob.tipDocSunat    = CENConstante.g_const_2;
                cenComprob.tipDocVenta    = tipoNC;
                cenComprob.tramEntrada    = DataJSON;
                cenComprob.tramSalida     = CENConstante.g_const_vacio;
                cenComprob.estado         = CENConstante.g_const_1;
                cenComprob.usuario        = usuario;
                cenComprob.ip             = ip;
                cenComprob.mac            = mac;

                codComprobSunat = cadComprob.RegistrarComprobSunat(cenComprob);

                responseApi    = enviarTramaNCSunat(DataJSON);
                DataJSONSalida = JsonConvert.SerializeObject(responseApi);

                if (responseApi.sunatResponse.success)
                {
                    flag = CENConstante.g_const_1;
                }

                cadComprob.ActualizarComprobSunat(codComprobSunat, DataJSONSalida, flag);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
        public List <CENComprobSunat> ListarComprobantesFallidos()
        {
            //DESCRIPCION: LISTAR COMPROBANTES FALLIDOS DE LA SUNAT
            SqlDataReader          dr;                                   //data reader
            CADConexion            conector         = new CADConexion(); // Conexión
            List <CENComprobSunat> listComprobantes = new List <CENComprobSunat>();

            try
            {
                using (Connection = new SqlConnection(conector.CxSQL()))
                {
                    conector.AbrirConexion(Connection);

                    using (SqlCommand Command = new SqlCommand("pa_lista_comprob_fallidos", Connection))
                    {
                        Command.CommandType    = CommandType.StoredProcedure;
                        Command.CommandTimeout = CENConstante.g_const_0;
                        dr = Command.ExecuteReader();
                        if (dr.HasRows)
                        {
                            CENComprobSunat comprobante = new CENComprobSunat();
                            while (dr.Read())
                            {
                                comprobante = new CENComprobSunat();
                                if (dr["ntraComprob"] != DBNull.Value)
                                {
                                    comprobante.ntraComprob = Convert.ToInt32(dr["ntraComprob"].ToString().Trim());
                                }
                                if (dr["codTransaccion"] != DBNull.Value)
                                {
                                    comprobante.codTransaccion = Convert.ToInt32(dr["codTransaccion"].ToString().Trim());
                                }
                                if (dr["codModulo"] != DBNull.Value)
                                {
                                    comprobante.codModulo = Convert.ToInt32(dr["codModulo"].ToString().Trim());
                                }
                                if (dr["tipDocSunat"] != DBNull.Value)
                                {
                                    comprobante.tipDocSunat = Convert.ToInt32(dr["tipDocSunat"].ToString().Trim());
                                }
                                if (dr["tipDocVenta"] != DBNull.Value)
                                {
                                    comprobante.tipDocVenta = Convert.ToInt32(dr["tipDocVenta"].ToString().Trim());
                                }
                                if (dr["tramEntrada"] != DBNull.Value)
                                {
                                    comprobante.tramEntrada = dr["tramEntrada"].ToString().Trim();
                                }

                                listComprobantes.Add(comprobante);
                            }
                        }
                        dr.Close();
                    }
                }
                return(listComprobantes);
            }

            catch (Exception ex)
            {
                throw ex;
            }

            finally
            {
                conector.CerrarConexion(Connection);
            }
        }
コード例 #5
0
        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);
        }