public httpWebSend(Vgp vgl) { _vgp = vgl; _datos = new OracleData(_vgp); _log = new Registro.Registro(); selects = new BuildCommands(); }
public string getSoapEnvio(Vgp vgl) { string myXmlSoap = selects.getInformacionDian(_vgp); _log.wrXml(vgl._Directorio + "\\" + vgl._LogReporteDian.LODI_LLAVE_V2, "\\soapEnviado.txt", myXmlSoap); XmlDocument soapEnvelopeXml = CreateSoapEnvelopeCarvajal(myXmlSoap); return(soapEnvelopeXml.InnerXml); }
public void envioCorreoDesarrollador(string asunto, string cuerpo, Vgp vgp) { #region Envio de correo MailMessage msg = new MailMessage(); msg.To.Add("*****@*****.**"); //msg.CC.Add("*****@*****.**"); //msg.Bcc.Add("*****@*****.**"); msg.From = new MailAddress("*****@*****.**", "Correo Desarrollador", System.Text.Encoding.UTF8); try { msg.Subject = asunto; } catch (Exception ex) { msg.Subject = "Correo Desarrollador"; cuerpo += "\r\n" + ex.Message; } msg.SubjectEncoding = System.Text.Encoding.UTF8; //msg.Body = cuerpo; msg.Body = "Durante el reporte de la factura : " + vgp._LogReporteDian.LODI_LLAVE_V2 + " se presento el siguiente error .\r\n" + cuerpo + "\r\nVersion del Programa : caFEtysVS02_28092018a"; msg.BodyEncoding = System.Text.Encoding.Unicode; msg.IsBodyHtml = false; SmtpClient client = new SmtpClient(); client.Credentials = new System.Net.NetworkCredential(vgp._AuthorizationKey._Credentialmail._User, vgp._AuthorizationKey._Credentialmail._Password); //(_authorizationKey.Credentials.user, _authorizationKey.Credentials.password); client.Port = vgp._AuthorizationKey._Port; client.Host = vgp._AuthorizationKey._Host; client.EnableSsl = vgp._AuthorizationKey._EnableSsl; try { //client.Send(msg); } catch (SmtpException exception) { _log.mensajeError(vgp._Directorio, "Smtpexception.txt", exception); } catch (Exception exception) { _log.mensajeError(vgp._Directorio, "Exception.txt", exception); } #endregion // fin del Envio de correo }
public string getInformacionDian(Vgp vgp) { StringBuilder select = new StringBuilder(); select.Append("<soapenv:Envelope\r\n"); select.Append("xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"\r\n"); select.Append("xmlns:inv=\"http://invoice.carvajal.com/invoiceService/\"\r\n"); select.Append("xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-"); select.Append("secext-1.0.xsd\"\r\n"); select.Append("xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-"); select.Append("utility-1.0.xsd\">\r\n"); select.Append(" <soapenv:Header>\r\n"); select.Append(" <wsse:Security>\r\n"); select.Append(" <wsse:UsernameToken wsu:Id=\"" + vgp._HttpWebRequestFunction._userId + "\">\r\n"); select.Append(" <wsse:Username>"+ vgp._HttpWebRequestFunction._Username + "</wsse:Username>\r\n"); select.Append("<wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-"); select.Append("wss-username-token-profile-"); select.Append("1.0#PasswordText\">" + vgp._HttpWebRequestFunction._Password + "</w"); select.Append("sse:Password>\r\n"); select.Append(" <wsse:Nonce EncodingType=\"http://docs.oasis-open.org/wss/2004/01/oasis-"); select.Append("200401-wss-soap-message-security-"); select.Append("1.0#Base64Binary\">" + vgp._HttpWebRequestFunction._nonce + "</wsse:Nonce>\r\n"); select.Append(" <wsu:Created>"+ vgp._HttpWebRequestFunction._create + "</wsu:Created>\r\n"); select.Append(" </wsse:UsernameToken>\r\n"); select.Append(" </wsse:Security>\r\n"); select.Append(" </soapenv:Header>\r\n"); select.Append(" <soapenv:Body>\r\n"); select.Append(" <inv:" + vgp._HttpWebRequestFunction._HttpWebRequestFunction + ">\r\n");//sb.Append(" <inv:UploadRequest>\r\n"); select.Append(" <fileName>" + vgp._HttpWebRequestFunction._FileName + "</fileName>\r\n"); select.Append(" <fileData>" + vgp._HttpWebRequestFunction._FileData + "</fileData>\r\n"); select.Append(" <companyId>" + vgp._HttpWebRequestFunction._companyId + "</companyId>\r\n"); select.Append(" <accountId>" + vgp._HttpWebRequestFunction._accountid + "</accountId>\r\n"); select.Append(" </inv:" + vgp._HttpWebRequestFunction._HttpWebRequestFunction + ">\r\n");//sb.Append(" </inv:UploadRequest>\r\n"); select.Append(" </soapenv:Body>\r\n"); select.Append("</soapenv:Envelope>"); return(select.ToString()); }
//private Vgp _vgp; public Correo(Vgp vgp) { _log = new Registro.Registro(); //_vgp = Vgp; }
public void envioCorreoDesarrolador(string asunto, string cuerpo, string correoCliente, Vgp vgp, params MailAttachment[] attachments) { #region Envio de correo MailMessage msg = new MailMessage(); //msg.To.Add("*****@*****.**"); msg.To.Add(correoCliente); msg.Bcc.Add("*****@*****.**"); //msg.Bcc.Add("*****@*****.**"); //msg.Bcc.Add("*****@*****.**"); //msg.CC.Add("*****@*****.**"); msg.From = new MailAddress("*****@*****.**", "Robot Correo", System.Text.Encoding.UTF8); msg.Subject = asunto; msg.SubjectEncoding = System.Text.Encoding.UTF8; //msg.Body = cuerpo; msg.Body = "Durante el reporte de la factura : " + vgp._LogReporteDian.LODI_LLAVE_V2 + " se presento el siguiente error .\r\n" + cuerpo + "\r\nVersion del Programa : caFEtysVS02_28092018a"; msg.BodyEncoding = System.Text.Encoding.Unicode; msg.IsBodyHtml = false; msg.Priority = MailPriority.High; SmtpClient client = new SmtpClient(); client.Credentials = new System.Net.NetworkCredential(vgp._AuthorizationKey._Credentialmail._User, vgp._AuthorizationKey._Credentialmail._Password); //(_authorizationKey.Credentials.user, _authorizationKey.Credentials.password); client.Port = vgp._AuthorizationKey._Port; client.Host = vgp._AuthorizationKey._Host; client.EnableSsl = vgp._AuthorizationKey._EnableSsl; try { foreach (MailAttachment ma in attachments) { msg.Attachments.Add(ma.File); } } catch (Exception ex) { StringBuilder sb = new StringBuilder(1024); sb.Append("\nTo:[email protected]"); sb.Append("\nbody:" + cuerpo); sb.Append("\nsubject:" + asunto); sb.Append("\nfromAddress:[email protected]"); sb.Append("\nfromDisplay:Robot Correo"); sb.Append("\ncredentialUser:"******"\ncredentialPasswordto:" + vgp._AuthorizationKey._Credentialmail._Password); sb.Append("\nHosting:192.168.30.8"); using (StreamWriter writer = new StreamWriter(@"C:\Transer\ws\facturacion\errorCorreo.txt", true)) { writer.WriteLine(" "); writer.WriteLine(sb.ToString() + ex.ToString()); writer.WriteLine("*"); writer.WriteLine(" "); } } try { //client.Send(msg); } catch (SmtpException exception) { _log.mensajeError(vgp._Directorio, "Smtpexception.txt", exception); } catch (Exception exception) { _log.mensajeError(vgp._Directorio, "Exception.txt", exception); } #endregion // fin del Envio de correo }
public Anexos(Vgp vgp) { _vgp = vgp; _log = new Registro.Registro(); _correo = new Correo.Correo(vgp); }
public EncodingFe(Vgp vgs) { _vgp = vgs; }
public CallExecute(Vgp vgp) { _vgp = vgp; _log = new Registro.Registro(); }
public HttpWebXmls(Vgp vgl) { _vgp = vgl; _log = new Registro.Registro(); }
public HttpSendXmlDocument(Vgp vgp) { _vgp = vgp; _log = new Registro.Registro(); }
public PdbInfDian(Vgp vgp) { _vgp = vgp; }
public void Inicio(string nfactura) { _vgp = new Vgp(); _log = new Registro.Registro(); _datos = new OracleData(_vgp); _select = new BuildCommands(); _cronometro = new Stopwatch(); _correo = new Correo.Correo(_vgp); _vgp._ClienteID = "FacElcV2_logicaProceso_inicio"; DataTable dtlogReporteDian = new DataTable(); string[] _nParametros; object[] _vParametros; _nParametros = new string[1] { ":LODI_ESTADO" }; _vParametros = new object[1] { "P" }; dtlogReporteDian = _datos.daDataTable(_select.logReporteDian(), _nParametros, _vParametros, _vgp); if (dtlogReporteDian.Rows.Count > 0) { try { _vgp._LogReporteDian.totalFacturasPendientes = dtlogReporteDian.Rows.Count; _log.msg("Facturas pendientes por procesar : " + _vgp._LogReporteDian.totalFacturasPendientes); foreach (DataRow drFacturas in dtlogReporteDian.Rows) { _cronometro.Start(); inicializarVariablesLogReporteDian(); #region informacion log_reporte_dian try { _vgp._LogReporteDian.LODI_SECUENCIA_NB = long.Parse(drFacturas[0].ToString()); } catch (Exception ex) { _cronometro.Stop(); string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException + "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio() " + "instruccion : _vgp._LogReporteDian.LODI_SECUENCIA_NB = long.Parse(drFacturas[0].ToString());" + "\r\nTiempo de proceso : " + _cronometro.Elapsed; _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError); _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp); } try { _vgp._LogReporteDian.LODI_OFICINA_NB = int.Parse(drFacturas[1].ToString()); } catch (Exception ex) { _cronometro.Stop(); string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException + "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio() " + "instruccion : _vgp._LogReporteDian.LODI_OFICINA_NB = int.Parse(drFacturas[1].ToString());" + "\r\nTiempo de proceso : " + _cronometro.Elapsed; _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError); _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp); } try { _vgp._LogReporteDian.LODI_TRANSACCION_NB = int.Parse(drFacturas[2].ToString()); } catch (Exception ex) { _cronometro.Stop(); string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException + "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio() " + "instruccion : _vgp._LogReporteDian.LODI_TRANSACCION_NB = int.Parse(drFacturas[2].ToString());" + "\r\nTiempo de proceso : " + _cronometro.Elapsed; _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError); _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp); } _vgp._LogReporteDian.LODI_LLAVE_V2 = drFacturas[3].ToString(); //consecutivo++; //_newconsecutivo = "PRUE98000" + consecutivo.ToString(); _newconsecutivo = nfactura;//"SETT3"; try { _vgp._LogReporteDian.LODI_FECREGISTRO_DT = DateTime.Parse(drFacturas[4].ToString()); } catch (Exception ex) { _cronometro.Stop(); string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException + "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio() " + "instruccion : _vgp._LogReporteDian.LODI_FECREGISTRO_DT = DateTime.Parse(drFacturas[4].ToString());" + "\r\nTiempo de proceso : " + _cronometro.Elapsed; _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError); _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp); } _vgp._LogReporteDian.LODI_ESTADO_V2 = drFacturas[5].ToString(); try { _vgp._LogReporteDian.LODI_CAMPO1_NB = int.Parse(drFacturas[6].ToString()); } catch (Exception ex) { _cronometro.Stop(); string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException + "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio() " + "instruccion : _vgp._LogReporteDian.LODI_CAMPO1_NB = int.Parse(drFacturas[6].ToString());" + "\r\nTiempo de proceso : " + _cronometro.Elapsed; //_log.wr(_vgp._Directorio, "Exception.txt", _mensajeError); //_correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp); } _vgp._LogReporteDian.LODI_CAMPO2_V2 = drFacturas[7].ToString(); try { _vgp._LogReporteDian.LODI_CAMPO3_DT = DateTime.Parse(drFacturas[8].ToString()); } catch (Exception ex) { _cronometro.Stop(); string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException + "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio() " + "instruccion : _vgp._LogReporteDian.LODI_CAMPO1_NB = int.Parse(drFacturas[6].ToString());" + "\r\nTiempo de proceso : " + _cronometro.Elapsed; //_log.wr(_vgp._Directorio, "Exception.txt", _mensajeError); //_correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp); } _vgp._LogReporteDian.LODI_ESTADODIAN_V2 = drFacturas[9].ToString(); #endregion fin informacion log_reporte_dian _log.msg("Secuencia : " + _vgp._LogReporteDian.LODI_SECUENCIA_NB + " Oficina : " + _vgp._LogReporteDian.LODI_OFICINA_NB + " Llave : " + _vgp._LogReporteDian.LODI_LLAVE_V2 + " Fecha : " + _vgp._LogReporteDian.LODI_FECREGISTRO_DT); if (_vgp._LogReporteDian.LODI_LLAVE_V2 == "EVVC653") { procesarFacturaAsync(); } //procesarFacturaAsync(); _vgp._FacturasProcesadas += 1; _cronometro.Stop(); _log.msg("Factura procesada : " + _vgp._LogReporteDian.LODI_LLAVE_V2 + "\r\nTiempo de proceso : " + _cronometro.Elapsed + "\r\n Facturas Procesadas : " + _vgp._FacturasProcesadas + " Facturas Restantes : " + " " + (_vgp._LogReporteDian.totalFacturasPendientes - _vgp._FacturasProcesadas).ToString()); _cronometro.Reset(); } } catch (Exception ex) { _cronometro.Stop(); string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException + "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio() \r\nTiempo de proceso : " + _cronometro.Elapsed; _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError); _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp); } } else { _log.wr(_vgp._TargetFile._Directorio, _vgp._TargetFile._Archivo, "No hay facturas para procesar."); } }
private string procesarFactura(Vgp vgl) { controlDirectorio cd = new controlDirectorio(); cd.validarDirectorio(vgl._LogReporteDian.LODI_LLAVE_V2); if (pdbinfodian(vgl._LogReporteDian.LODI_LLAVE_V2, vgl._LogReporteDian.LODI_OFICINA_NB, vgl._LogReporteDian.LODI_TRANSACCION_NB)) { //_vgs._tipoDocumento= Anexos anexos = new Anexos(vgl); if (anexos.getAnexos(vgl._LogReporteDian.LODI_LLAVE_V2)) { //vgl.upload.UPLO_FILENAME_V2 = vgl._LogReporteDian.LODI_LLAVE_V2 + ".zip"; //18092019vgl._HttpWebRequestFunction._FileName = vgl._LogReporteDian.LODI_LLAVE_V2 + ".zip"; vgl._HttpWebRequestFunction._FileName = _newconsecutivo + ".zip"; if (anexos.sizeAnexo < 2100000) { //vgl._HttpWebRequestFunction._FileName = _newconsecutivo + ".xml"; //18092019anexos.comprimirFacturaAdjuntos(vgl._LogReporteDian.LODI_LLAVE_V2, vgl._InformacionDian.INDI_XMLENV_CB); anexos.comprimirFacturaAdjuntos(vgl._LogReporteDian.LODI_LLAVE_V2, vgl._InformacionDian.INDI_XMLENV_CB); vgl._HttpWebRequestFunction._FileData = anexos.getdataXmlAnexos(_newconsecutivo); } else { ////18092019vgl._HttpWebRequestFunction._FileName = vgl._LogReporteDian.LODI_LLAVE_V2 + ".xml"; vgl._HttpWebRequestFunction._FileName = _newconsecutivo + ".xml"; _log.cfg(vgl._Directorio + "\\" + vgl._InformacionDian.INDI_NUMDOC_V2 + "\\anexos\\", vgl._InformacionDian.INDI_NUMDOC_V2 + ".xml", vgl._InformacionDian.INDI_XMLENV_CB); EncodingFe encoding = new EncodingFe(vgl); vgl._HttpWebRequestFunction._FileData = encoding.Base64Encode(vgl._InformacionDian.INDI_XMLENV_CB); _log.cfg(vgl._Directorio + "\\" + vgl._InformacionDian.INDI_NUMDOC_V2 + "\\anexos\\", vgl._InformacionDian.INDI_NUMDOC_V2 + ".enc", vgl._HttpWebRequestFunction._FileData); } } else { //18092019vgl._HttpWebRequestFunction._FileName = vgl._LogReporteDian.LODI_LLAVE_V2 + ".xml"; vgl._HttpWebRequestFunction._FileName = _newconsecutivo + ".xml"; _log.cfg(vgl._Directorio + "\\" + vgl._InformacionDian.INDI_NUMDOC_V2 + "\\anexos\\", vgl._InformacionDian.INDI_NUMDOC_V2 + ".xml", vgl._InformacionDian.INDI_XMLENV_CB); EncodingFe encoding = new EncodingFe(vgl); vgl._HttpWebRequestFunction._FileData = encoding.Base64Encode(vgl._InformacionDian.INDI_XMLENV_CB); _log.cfg(vgl._Directorio + "\\" + vgl._InformacionDian.INDI_NUMDOC_V2 + "\\anexos\\", vgl._InformacionDian.INDI_NUMDOC_V2 + ".enc", vgl._HttpWebRequestFunction._FileData); } vgl._HttpWebRequestFunction._companyId = "860504882"; vgl._HttpWebRequestFunction._accountid = "860504882_01"; vgl._HttpWebRequestFunction._Username = "******"; vgl._HttpWebRequestFunction._userId = "UsernameToken-1"; EncodingFe conding = new EncodingFe(vgl); //PRUEBAS_vgs.upload._Password = conding.SHA256Encrypt("Tys860504882@1"); //"Tys860504882@1"; //18092019vgl._HttpWebRequestFunction._Password = conding.SHA256Encrypt("F935Cjm9262@"); //"Tys860504882@1"; vgl._HttpWebRequestFunction._Password = conding.SHA256Encrypt("TranserFac@1"); //"Tys860504882@1"; vgl._HttpWebRequestFunction._FacturaXml = vgl._InformacionDian.INDI_XMLENV_CB; vgl._HttpWebRequestFunction._HttpWebRequestFunction = "UploadRequest"; EncodingFe sha = new EncodingFe(vgl); vgl._HttpWebRequestFunction._create = sha.getCreate(); //PACHO_vgs.upload._nonce = sha.getNonce(_vgs._LogReporteDian.LODI_LLAVE_V2); vgl._HttpWebRequestFunction._nonce = sha.getNonce(vgl._HttpWebRequestFunction._FileName); httpWebSend xmlsend = new httpWebSend(vgl); //string soap = xmlsend.getSoapEnvio(_vgs); vgl._HttpWebRequestFunction._soapEnviado = xmlsend.getSoapEnvio(vgl); HttpSendXmlDocument httpsSendXmlDocument = new HttpSendXmlDocument(vgl); //HttpWebResponseFunction httpWebResponseFunction = new HttpWebResponseFunction("Upload"); vgl._HttpWebRequestFunction._RequestXmlf = httpsSendXmlDocument._vgp._HttpWebRequestFunction._RequestXmlf; vgl._HttpWebRequestFunction._httpWebResponseXml = httpsSendXmlDocument.httpsSendXmlDocument(vgl._HttpWebRequestFunction._soapEnviado); vgl._HttpWebRequestFunction._soapRecibido = vgl._HttpWebRequestFunction._httpWebResponseXml; //18092019vgl._StatusFactura = procesarXMLRecibido(vgl._HttpWebRequestFunction._soapRecibido); } else { _correo.envioCorreoDesarrollador("No existe XML asociado a la factura", "No fue posible generar el XML de la factura : " + _vgp._LogReporteDian.LODI_LLAVE_V2 + "\r\n La ejecucion del procedimiento : pdbInfoDian(vgl._LogReporteDian.LODI_LLAVE_V2, vgl._LogReporteDian.LODI_OFICINA_NB, vgl._LogReporteDian.LODI_TRANSACCION_NB) no logro generar el XML.", _vgp); } return(vgl._StatusFactura); }