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); } }
public int RegistrarComprobSunat(CENComprobSunat data) { CADcomprobSunat cADcomprob = new CADcomprobSunat(); try { return(cADcomprob.RegistrarComprobSunat(data)); }catch (Exception ex) { throw ex; } }
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; } }
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); } }
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); }