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); }