コード例 #1
0
ファイル: Anexos.cs プロジェクト: feml/cursoUdemy
        private void enviocorreo(string factura)
        {
            Correo.Correo correo = new Correo.Correo(_vgp);
            //byte[] byteTextAnexos = File.ReadAllBytes("c:\\transer\\ws\\facturacion\\" + factura + "\\" + factura + ".zip");
            byte[]         byteTextAnexos = File.ReadAllBytes("c:\\transer\\ws\\facturacion\\" + factura + "\\anexos\\anexos.zip");
            MailAttachment attach         = new MailAttachment(byteTextAnexos, "anexos_" + _vgp._LogReporteDian.LODI_LLAVE_V2 + ".zip");
            StringBuilder  sb             = new StringBuilder();

            sb.AppendLine(" Señor(es),  ");
            sb.AppendLine(getCliente(_vgp._LogReporteDian.LODI_LLAVE_V2));
            sb.AppendLine("  ");
            sb.AppendLine(" Les informamos que TRANSPORTES Y SERVICIOS TRANSER S.A les ha emitido el siguiente documento. ");
            sb.AppendLine("  ");
            sb.AppendLine(" Número de documento: " + factura);
            sb.AppendLine(" Tipo de documento: FACTURA");
            sb.AppendLine(" Fecha de emisión: " + DateTime.Now.ToLongDateString());
            sb.AppendLine("  ");
            sb.AppendLine(" Los anexos que soportan el documento sobrepasan el tamaño máximo permitido por nuestro PST, por tal razón los enviamos anexos al presente mensaje. ");
            sb.AppendLine("  ");
            sb.AppendLine(" Si tiene alguna inquietud al respecto no dude en contactar a nuestros representantes comerciales. ");
            sb.AppendLine("  ");
            sb.AppendLine("  ");
            sb.AppendLine(" Atentamente,  ");
            sb.AppendLine("  ");
            sb.AppendLine(" TRANSPORTES Y SERVICIOS TRANSER S.A ");

            correo.envioCorreoDesarrolador(factura + "-Anexos ", sb.ToString(), _vgp._InformacionDian.INDI_EMAIL_V2, _vgp, attach);
        }
コード例 #2
0
ファイル: httpWebSend.cs プロジェクト: feml/cursoUdemy
        private XmlDocument CreateSoapEnvelopeCarvajal(string myXmlSoap)
        {
            XmlDocument soapEnvelop = new XmlDocument();

            try
            {
                soapEnvelop.LoadXml(myXmlSoap);
            }
            catch (XmlException ex)
            {
                string _mensajeError = @"XmlException : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException +
                                       "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio()" + "\r\n XML : \r\n" + myXmlSoap;
                _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError);
                Correo.Correo _correo = new Correo.Correo(_vgp);
                _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp);
            }
            catch (Exception ex)
            {
                string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException +
                                       "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio()";
                _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError);
                Correo.Correo _correo = new Correo.Correo(_vgp);
                _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp);
            }
            return(soapEnvelop);
        }
コード例 #3
0
        public void generarInfoDian(string factura, int oficina, int transaccion)
        {
            BuildCommands select = new BuildCommands();

            _vgp._TargetFile._Archivo = "pdbinfodian.txt";
            _vgp._ClienteID           = "pdbInfoDian";
            //string tipodoc = string.Empty;
            switch (transaccion)
            {
            case 1:
            {
                try
                {
                    _vgp._IcpdbInfoDian.tipodocumento            = "FC";
                    _vgp._IcpdbInfoDian.tipoDocumentoDescriptivo = "FACTURA";
                    OracleData _datos = new OracleData(_vgp);
                    _datos.execute((select.procedimientoInfoDianFactura(factura, oficina, _vgp._IcpdbInfoDian.tipodocumento, "I")), _vgp);
                }
                catch (Exception ex)
                {
                    string lo = ex.Message;
                }
                break;
            }

            case 2:
            {
                _vgp._IcpdbInfoDian.tipodocumento            = "NC";
                _vgp._IcpdbInfoDian.tipoDocumentoDescriptivo = "NOTA CREDITO";
                OracleData _datos = new OracleData(_vgp);
                _datos.execute((select.procedimientoInfoDianNota(factura, oficina, _vgp._IcpdbInfoDian.tipodocumento, "I")), _vgp);
                break;
            }

            case 3:
            {
                _vgp._IcpdbInfoDian.tipodocumento            = "ND";
                _vgp._IcpdbInfoDian.tipoDocumentoDescriptivo = "NOTA DEBITO";
                OracleData _datos = new OracleData(_vgp);
                _datos.execute((select.procedimientoInfoDianNota(factura, oficina, _vgp._IcpdbInfoDian.tipodocumento, "I")), _vgp);
                break;
            }

            default:
            {
                string _default = "El metodo caFEtysVS02_pdbInfoDian_generarInfoDian contiene un caso sin catalogar \r\n Informacion de parametro Nombre : transaccion Valor : " + transaccion;
                _log = new Registro.Registro();
                _log.wr(_vgp._Directorio, "Default.txt", _default);
                Correo.Correo _correo = new Correo.Correo(_vgp);
                _correo.envioCorreoDesarrollador("El metodo caFEtysVS02_pdbInfoDian_generarInfoDian contiene un caso sin catalogar", "El metodo caFEtysVS02_pdbInfoDian_generarInfoDian contiene un caso sin catalogar \r\n Parametros  factura : " + factura + "\r\n oficina : " + oficina + "\r\n transaccion: " + transaccion, _vgp);
                break;
            }
            }
        }
コード例 #4
0
        public string httpsSendXmlDocument(string HttpXmlSender)
        {
            string xml = HttpXmlSender;
            string url = "https://wscenflab.cen.biz/isows/InvoiceService?wsdl";//PILOTO
            //string url = "https://wscenf.cen.biz/isows/InvoiceService?wsdl";//PRODUCCION
            //string url = "https://cenfinancierolab.cen.biz/isows/InvoiceService?wsdl";//PRUEBAS
            //string url = "https://cenfinanciero.cen.biz/isows/InvoiceService?wsdl";//PRODUCCION
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

            byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(xml);
            req.Method        = "POST";
            req.ContentType   = "text/xml;charset=utf-8";
            req.ContentLength = requestBytes.Length;
            try
            {
                Stream requestStream = req.GetRequestStream();
                requestStream.Write(requestBytes, 0, requestBytes.Length);
                requestStream.Close();
                HttpWebResponse res     = (HttpWebResponse)req.GetResponse();
                StreamReader    sr      = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);
                string          backstr = sr.ReadToEnd();
                sr.Close();
                res.Close();

                _vgp._HttpWebRequestFunction._RequestXmlf = getXMLReturn(backstr);
            }
            catch (HttpListenerException ex)
            {
                _vgp._HttpWebRequestFunction._RequestXmlf = ex.Message;
                string _mensajeError = @"HttpListenerException : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException +
                                       "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio()" + "\r\n SOAP : \r\n" + HttpXmlSender;
                _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError);
                Correo.Correo _correo = new Correo.Correo(_vgp);
                _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp);
            }
            catch (Exception ex)
            {
                _vgp._HttpWebRequestFunction._RequestXmlf = ex.Message;
                string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException +
                                       "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio()" + "\r\nSOAP : \r\n" + HttpXmlSender;
                _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError);
                Correo.Correo _correo = new Correo.Correo(_vgp);
                _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp);
            }

            return(_vgp._HttpWebRequestFunction._RequestXmlf);
        }
コード例 #5
0
ファイル: HttpWebXmls.cs プロジェクト: feml/cursoUdemy
 public void actualizarlogReporteDian(string estado, string HttpWebResponseXml)
 {
     if (estado == "E")
     {
         OracleData    _datos = new OracleData(_vgp);
         BuildCommands select = new BuildCommands();
         _datos.executeUploadRequest(select.UploadRequestFE(), _vgp);
         _datos.executeDetLogDian(select.insertDetLogDian(), _vgp);
         //_datos.execute(select.updateLogReporteDian(estado, _vgp.logreportedian.LODI_LLAVE_V2), _vgp);
         //_datos.executeUpdateInfoDian(select.updateInformacionDian(), _vgp);
     }
     else
     {
         Correo.Correo _correo = new Correo.Correo(_vgp);
         _correo.envioCorreoDesarrollador("La factura  : " + _vgp._LogReporteDian.LODI_LLAVE_V2 + " No fue aceptada por el CENF.", "Se presento alguna novedad durante el envio de la factura : " + _vgp._LogReporteDian.LODI_LLAVE_V2 + " Adjunto respuesta del CENF. \r\n" + HttpWebResponseXml, _vgp);
     }
 }
コード例 #6
0
ファイル: Anexos.cs プロジェクト: feml/cursoUdemy
 public Anexos(Vgp vgp)
 {
     _vgp    = vgp;
     _log    = new Registro.Registro();
     _correo = new Correo.Correo(vgp);
 }
コード例 #7
0
        private string getXMLReturn(string txbRequestXmlf)
        {
            string output = txbRequestXmlf;

            if (txbRequestXmlf == "Error en el servidor remoto: (500) Error interno del servidor.")
            {
                _log.wr(_vgp._Directorio, "Exception.txt", txbRequestXmlf);
                Correo.Correo _correo = new Correo.Correo(_vgp);
                _correo.envioCorreoDesarrollador("Error en el servidor remoto: (500) Error interno del servidor.", txbRequestXmlf, _vgp);
            }
            if (txbRequestXmlf == "No es posible conectar con el servidor remoto")
            {
                _log.wr(_vgp._Directorio, "Exception.txt", txbRequestXmlf);
                Correo.Correo _correo = new Correo.Correo(_vgp);
                _correo.envioCorreoDesarrollador("No es posible conectar con el servidor remoto", txbRequestXmlf, _vgp);
            }
            else
            {
                if (txbRequestXmlf.Contains("<soap:") && txbRequestXmlf.Contains(":Envelope>"))
                {
                    output = txbRequestXmlf;
                    try
                    {
                        txbRequestXmlf = output.Substring(output.IndexOf("<soap:"));
                        int index = txbRequestXmlf.LastIndexOf(":Envelope>");
                        if (index > 0)
                        {
                            txbRequestXmlf = txbRequestXmlf.Substring(0, index + 10);
                        }
                        _log.wr(_vgp._Directorio, "soapRespuesta.txt", txbRequestXmlf);
                    }
                    catch (Exception ex)
                    {
                        string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException +
                                               "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio()" + "\r\nSOAP : \r\n" + txbRequestXmlf;
                        _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError);
                        Correo.Correo _correo = new Correo.Correo(_vgp);
                        _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp);
                    }
                }
                else
                {
                    if (txbRequestXmlf.Contains("<soapenv:") && txbRequestXmlf.Contains(":Envelope>"))
                    {
                        output = txbRequestXmlf;
                        try
                        {
                            txbRequestXmlf = output.Substring(output.IndexOf("<soapenv:"));
                            int index = txbRequestXmlf.LastIndexOf(":Envelope>");
                            if (index > 0)
                            {
                                txbRequestXmlf = txbRequestXmlf.Substring(0, index + 10);
                            }
                            _log.wr(_vgp._Directorio, "soapRespuesta.txt", txbRequestXmlf);
                        }
                        catch (Exception ex)
                        {
                            string _mensajeError = @"Exception : " + ex.Source + "\nData source: " + ex.Message + "\nInnerException: " + ex.InnerException +
                                                   "Procedimiento : caFEtysVS02_logicaProceso_public async void inicio()" + "\r\nSOAP : \r\n" + txbRequestXmlf;
                            _log.wr(_vgp._Directorio, "Exception.txt", _mensajeError);
                            Correo.Correo _correo = new Correo.Correo(_vgp);
                            _correo.envioCorreoDesarrollador(ex.Message, _mensajeError, _vgp);
                        }
                    }
                }
            }
            return(txbRequestXmlf);
        }
コード例 #8
0
ファイル: LogicaProceso.cs プロジェクト: feml/cursoUdemy
        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.");
            }
        }