예제 #1
0
        /************** Envia_FTP
         * Metodo que envia el archivo de texto al FTP
         ***************/
        private bool Envia_FTP()
        {
            bool exito1 = false;
            bool exito2 = false;

            //string NombreArchivo = Path.GetFileName(fileTXTc);
            //string logftp = DatosGenerales.rutaMain + "logftp.txt";

            exito1 = Send_FTP_WMS(fileTXTc, fileTXTc);
            exito2 = Send_FTP_WMS(fileTXTd, fileTXTd);


            //using (StreamWriter str = new StreamWriter(logftp, false, System.Text.Encoding.Default))
            //{

            //}

            if (exito1 && exito2)
            {
                LogHandle.Graba_Log("ENVIA FTP OK ");
            }
            else
            {
                LogHandle.Graba_Log("ENVIA FTP ERROR ");
            }

            return(exito1 && exito2);
        }
예제 #2
0
        public void Genera_Interface_Prescripcion()
        {
            bool exito = false;

            try
            {
                //var resultadoObtPresc = Obtiene_Prescrip();
                //if (!resultadoObtPres.Exito)
                //{
                //    //GraboLog
                //    //Cierro conexion
                //    return;
                //}

                //var resultadoGeneraFileTxt = Genera_FileTXT();
                //if (!resultadoGeneraFileTxt.Exito)
                //{
                //    //GraboLog
                //    //Cierro conexion
                //    return;
                //}

                LogHandle.Graba_Log("******************** INICIO PROCESO");

                if (Obtiene_Prescrip())
                {
                    if (Genera_FileTXT())
                    {
                        if (Envia_FTP())
                        {
                            if (Actualiza_Flag_Prescrip())
                            {
                                exito = true;
                            }
                        }
                    }
                }

                Archiva_TXT();

                if (exito)
                {
                    LogHandle.Graba_Log("SE PROCESO OK"); // OJO POR MIENTRAS
                }
                else
                {
                    LogHandle.Graba_Log("NO PROCESO NADA"); // OJO POR MIENTRAS
                }
            }
            catch (Exception ex)
            {
                LogHandle.Graba_Log("ERROR: " + ex.ToString());
            }
            finally
            {
                LogHandle.Graba_Log("******************** FIN PROCESO");
            }
        }
예제 #3
0
        //****************************************************************************



        /************** Actualiza_Flag_Prescrip
         * Metodo que actualiza el flag de envio de las prescripciones (para que no lo vuelva a enviar)
         ***************/
        private bool Actualiza_Flag_Prescrip()
        {
            bool exito = false;

            // RETAIL
            using (System.Data.OleDb.OleDbConnection dbConn = new System.Data.OleDb.OleDbConnection(Conexion.Conn1))
            {
                dbConn.Open();

                foreach (DataRow fila in dat_presccabRetail.Rows)
                {
                    //string valor = fila["Prescrip"].ToString();
                    //string sql_upd = "UPDATE FVPRESP SET PRE_RECNO=1 WHERE PRE_TIEND='" + fila["Pre_tiend"] + "' AND PRE_ARTIC='" + fila["Pre_artic"] + "' AND PRE_CALID='" + fila["Pre_calid"] + "' AND PRE_ARTIC='2811304' AND PRE_TIEND='50522'";
                    string sql_upd = "UPDATE SCCCGUD SET CGUD_FTXTD='X' WHERE cgud_gudis='" + fila["cgud_gudis"] + "'";
                    System.Data.OleDb.OleDbCommand com_upd = new System.Data.OleDb.OleDbCommand(sql_upd, dbConn);
                    com_upd.ExecuteNonQuery();
                    LogHandle.Graba_Log("UPDATE SCCCGUD");
                }
            }

            // NO RETAIL
            using (System.Data.OleDb.OleDbConnection dbConn = new System.Data.OleDb.OleDbConnection(Conexion.Conn2))
            {
                dbConn.Open();

                foreach (DataRow fila in dat_presccabNoRetail.Rows)
                {
                    //string valor = fila["Prescrip"].ToString();
                    //string sql_upd = "UPDATE FVPRESP SET PRE_RECNO=1 WHERE PRE_TIEND='" + fila["Pre_tiend"] + "' AND PRE_ARTIC='" + fila["Pre_artic"] + "' AND PRE_CALID='" + fila["Pre_calid"] + "' AND PRE_ARTIC='2811304' AND PRE_TIEND='50522'";
                    string sql_upd = "UPDATE vmaoc SET oc_ftx='X' WHERE oc_nord='" + fila["oc_nord"] + "'";
                    System.Data.OleDb.OleDbCommand com_upd = new System.Data.OleDb.OleDbCommand(sql_upd, dbConn);
                    com_upd.ExecuteNonQuery();
                    LogHandle.Graba_Log("UPDATE vmaoc");
                }
            }

            exito = true;
            return(exito);
        }
예제 #4
0
        private bool Send_FTP_WMS(string file_origen, string file_destino)
        {
            bool exito = false;

            try
            {
                // Setup session options
                SessionOptions sessionOptions = new SessionOptions
                {
                    Protocol   = Protocol.Sftp,
                    HostName   = DatosGenerales.UrlFtp,  //"172.24.20.183"
                    UserName   = DatosGenerales.UserFtp, //"retailc"
                    Password   = DatosGenerales.PassFtp, //"1wiAwNRa"
                    PortNumber = 22,
                    GiveUpSecurityAndAcceptAnySshHostKey = true
                };

                using (Session session = new Session())
                {
                    // Connect
                    session.Open(sessionOptions);
                    //str.WriteLine("**************** CONECTADO CON EXITO AL FTP " + DateTime.Now);
                    //str.WriteLine("INICIO SUBIDA DE ACHIVO " + NombreArchivo + " AL SFTP " + DateTime.Now);
                    //string nombreAchivoRuta = NombreArchivo + DateTime.Now.ToString("yyyyMMdd") + ".mnt";
                    //string nombreArchivoCompleto = fileTXTc; // "\\\\200.1.1.40\\appl\\pos\\interfaces\\" + nombreAchivoRuta;

                    // Upload files
                    TransferOptions transferOptions = new TransferOptions();
                    transferOptions.FilePermissions   = null; // This is default
                    transferOptions.PreserveTimestamp = false;
                    transferOptions.TransferMode      = TransferMode.Binary;
                    TransferOperationResult transferResult;

                    //transferResult = session.PutFiles(fileTXTc, "/data/02_PE/input/" + Path.GetFileName(fileTXTc), false, transferOptions);

                    transferResult = session.PutFiles(file_origen, "/data/02_PE/input/" + Path.GetFileName(file_destino), false, transferOptions);

                    // Throw on any error
                    transferResult.Check();

                    //if (transferResult.IsSuccess == true) exito = true;
                    exito = transferResult.IsSuccess;

                    // Print results
                    //if (exito)
                    //{
                    //    foreach (TransferEventArgs transfer in transferResult.Transfers)
                    //    {
                    //        //varFinal = nombreAchivoRuta + "°" + subido + "°" + "CORRECTAMENTE SUBIDO" + transfer.FileName + " " + DateTime.Now + "°" + "1";
                    //        str.WriteLine("ARCHIVO FUE CARGADO OK: " + transfer.FileName + " " + DateTime.Now);
                    //        //exito = true;
                    //    }
                    //}
                }
            }

            catch (Exception ex)
            {
                //varFinal = string.Empty + "°" + string.Empty + "°" + "[ERROR] NO SE PUDO CARGAR EL DOCUMENTO " + NombreArchivo + " " + DateTime.Now + "°" + "0";
                //str.WriteLine("ERROR AL SUBIR ARCHIVO: " + fileTXTc + " " + e.Message + " " + DateTime.Now);
                LogHandle.Graba_Log("ERROR AL SUBIR FTP: " + ex.Message);
            }


            return(exito);
        }