예제 #1
0
        private void actualizarlogReporteDian(string estado, HttpsWebRequestsFunction httpwebrequestFunction, LogReporteDian infoFactura)
        {
            if (estado == "E")
            {
                console.Cgreen();
                using (Factory data = new Factory(Usuario, Password, Ambiente))
                {
                    console.Ih("    !! Insertando Registro en la Tabla UPLOAD         ");
                    string[] _nParametros;
                    object[] _vParametros;
                    //:filename,:filedata,:companyid,:accountid,:status,:transactionid,:xmlfactura,:soapenviado,:soaprespuesta
                    _nParametros = new string[9] {
                        ":filename", ":filedata", ":companyid", ":accountid", ":status", ":transactionid", ":xmlfactura", ":soapenviado", ":soaprespuesta"
                    };
                    _vParametros = new object[9] {
                        infoFactura.LODI_LLAVE_V2, httpwebrequestFunction._FileData, httpwebrequestFunction._companyId, httpwebrequestFunction._accountid, httpwebrequestFunction._status, httpwebrequestFunction._transactionId, httpwebrequestFunction._FacturaXml, httpwebrequestFunction._soapEnviado, httpwebrequestFunction._soapRecibido
                    };
                    data.executeCommand("UploadRequestFE", _nParametros, _vParametros);
                }

                //_datos.executeDetLogDian(select.insertDetLogDian(), _vgp);
                using (Factory data = new Factory(Usuario, Password, Ambiente))
                {
                    console.Ih("    !! Insertando Registro en la Tabla DetLogDian     ");
                    string[] _nParametros;
                    object[] _vParametros;
                    _nParametros = new string[9] {
                        ":secuencia", ":oficina", ":transaccion", ":llave", ":estado", ":iddian", ":cufe", ":soapEnviado", ":soapRecibido"
                    };
                    _vParametros = new object[9] {
                        infoFactura.LODI_SECUENCIA_NB, infoFactura.LODI_OFICINA_NB, infoFactura.LODI_TRANSACCION_NB, infoFactura.LODI_LLAVE_V2, infoFactura.LODI_ESTADO_V2, httpwebrequestFunction._transactionId, "EN PROCESO", httpwebrequestFunction._soapEnviado, httpwebrequestFunction._soapRecibido
                    };
                    data.executeCommand("insertDetLogDian", _nParametros, _vParametros);
                }

                //_datos.executeUpdateInfoDian(select.updateInformacionDian(), _vgp);
                using (Factory data = new Factory(Usuario, Password, Ambiente))
                {
                    console.Ih("    !! Insertando Registro en la Tabla InformacionDian");
                    string[] _nParametros;
                    object[] _vParametros;
                    _nParametros = new string[3] {
                        ":INDI_IDCARVAJAL", "INDI_CUFEDIAN", ":INDI_NUMDOC"
                    };
                    _vParametros = new object[3] {
                        httpwebrequestFunction._transactionId, "EN PROCESO", infoFactura.LODI_LLAVE_V2
                    };
                    data.executeCommand("updateInformacionDian", _nParametros, _vParametros);
                }
                //System.Threading.Thread.Sleep(3000);
                ILogicaInfoFactura Lif  = new LogicaInfoFactura(Usuario, Password, UsuEmail, PassEmail, Ambiente);
                string             cufe = string.Empty;
                cufe = Lif.Inicio(infoFactura.LODI_LLAVE_V2);
            }
            else
            {
                //Falta Implementar.....
            }
        }
예제 #2
0
        public void Inicio(DateTime fecini)
        {
            int Total      = ICLogReporteDian.Count;
            int Procesadas = 0;

            if (ICLogReporteDian.Count > 0)
            {
                foreach (var p in ICLogReporteDian)
                {
                    console.CBlack();
                    console.Clear();
                    console.Ih("   APLICATIVO FACTURACION ELECTRONICA CON VALIDACION PREVIA  ver 1.0.2", false);
                    console.Ih("   ========== =========== =========== === ========== ======  *** * * *", false);
                    console.Ihe("Facturas a procesar : " + Total + ". Procesadas : " + Procesadas + ". Pendientes : " + (Total - Procesadas).ToString() + "\r\n");
                    ICollection <InformacionDian> ICInformacionDianpROCESO = new List <InformacionDian>();
                    ICInformacionDianpROCESO = LeerInformacionDian(p.LODI_LLAVE_V2);
                    if (ICInformacionDianpROCESO.Count > 0)
                    {
                        string mensaje = string.Empty;
                        foreach (var item in ICInformacionDianpROCESO)
                        {
                            if (item.INDI_CUFEDIAN_V2 == "EN PROCESO")
                            {
                                mensaje  = string.Empty;
                                mensaje += "La Factura " + item.INDI_NUMDOC_V2 + " se encuentra en proceso...!!\r\n";
                                mensaje += "\r\n      ==> Informacion de la factura < == \r\n";
                                mensaje += "\r\n Fecha  : " + item.INDI_FECCREA_TS;
                                mensaje += "\r\n Correo : " + item.INDI_EMAIL_V2;
                                mensaje += "\r\n Id     : " + item.INDI_IDCARVAJAL_V2;
                                mensaje += "\r\n Valida : " + item.INDI_VALIDACION_CL;
                                console.Ih(mensaje);
                                SendEmail("Factura en Proceso", mensaje, "*****@*****.**", "*****@*****.**", "*****@*****.**");
                                //if (p.LODI_LLAVE_V2=="ETCA10039")
                                //{
                                //procesarFactura(p);
                                //}
                                ILogicaInfoFactura Lif  = new LogicaInfoFactura(Usuario, Password, UsuEmail, PassEmail, Ambiente);
                                string             cufe = string.Empty;
                                cufe = Lif.Inicio(p.LODI_LLAVE_V2);
                                break;
                            }
                            else
                            {
                                procesarFactura(p);
                            }
                        }
                    }
                    else
                    {
                        procesarFactura(p);
                    }
                    Procesadas++;
                    console.Clear();
                }
            }
            else
            {
                //addLog("NO HAY REGISTROS PARA PROCESAR....");
                System.Threading.Thread.Sleep(2000);
            }
        }