public static SFTP getFTPConnection()
        {
            SFTP downloadFTP = new SFTP();

            downloadFTP.LicenseKey = FTPConfig.DownloadFTPAddress.License;
            downloadFTP.Hostname   = FTPConfig.DownloadFTPAddress.Host;
            downloadFTP.Login      = FTPConfig.DownloadFTPAddress.Username;
            downloadFTP.Password   = FTPConfig.DownloadFTPAddress.Password;
            downloadFTP.Blocking   = bool.Parse(FTPConfig.DownloadFTPAddress.Blocking);
            downloadFTP.Timeout    = short.Parse(FTPConfig.DownloadFTPAddress.Timeout);
            return(downloadFTP);
        }
 public bool subirArchivos(DTOFileModel files)
 {
     try
     {
         SFTP   ftp = new SFTP();
         string directorioRemoto = WebConfigurationManager.AppSettings["ftp_informes_firmados"];
         return(ftp.subirArchivos(files, directorioRemoto));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public byte[] obtenerInformeToByte(string nombreArchivo, string login)
        {
            SFTP ftp = new SFTP();

            try
            {
                string directorioRemoto = WebConfigurationManager.AppSettings["ftp_informes"];
                string directorioLocal  = WebConfigurationManager.AppSettings["ruta_local_informes"];
                return(ftp.obtenerArchivo(directorioRemoto, directorioLocal, nombreArchivo, login));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public DTORespuestaFTP obtenerArchivo(DTOInforme informe)
        {
            DTORespuestaFTP respuesta = new DTORespuestaFTP();

            try
            {
                SFTP ftp = new SFTP();

                string carpeta = "";
                switch (informe.TipoDocumento)
                {
                case 1:
                    carpeta = WebConfigurationManager.AppSettings["ftp_informes"];
                    break;

                case 2:
                    carpeta = WebConfigurationManager.AppSettings["ftp_ecfa"];
                    break;

                default:
                    throw new Exception("ERROR: El tipo de documento no es correcto: 1=Informe/2=ECFA");
                }
                List <string> contenido = ftp.obtenerContenido(carpeta);
                string        archivoFormat;
                foreach (string archivo in contenido)
                {
                    archivoFormat = archivo.Replace(carpeta, "");
                    archivoFormat = archivoFormat.Replace("/", "");
                    archivoFormat = archivoFormat.Replace(".", "");
                    if (archivoFormat.Split('_')[0].ToString().Equals(informe.NumeroMuestra.ToString()))
                    {
                        respuesta.Rutas.Add(archivo);
                    }
                }

                if (respuesta.Rutas.Count == 0)
                {
                    throw new Exception("ERROR: No se encontraron archivos en '" + carpeta + "' para el informe '" + informe.NumeroMuestra.ToString() + "'");
                }
                respuesta.Mensaje   = "Servicio ejecutado correctamente.";
                respuesta.Resultado = true;
            }
            catch (Exception ex)
            {
                throw new Exception("MServicios.obtenerArchivo: " + ex.Message);
            }
            return(respuesta);
        }
Пример #5
0
        public UploadResult UploadFile(Stream stream, string fileName)
        {
            FileUploader fileUploader = null;

            FileDestination fileDestination;

            switch (Info.DataType)
            {
            case EDataType.Image:
                fileDestination = Info.TaskSettings.ImageFileDestination;
                break;

            case EDataType.Text:
                fileDestination = Info.TaskSettings.TextFileDestination;
                break;

            default:
            case EDataType.File:
                fileDestination = Info.TaskSettings.FileDestination;
                break;
            }

            switch (fileDestination)
            {
            case FileDestination.Dropbox:
                NameParser parser     = new NameParser(NameParserType.URL);
                string     uploadPath = parser.Parse(Dropbox.TidyUploadPath(Program.UploadersConfig.DropboxUploadPath));
                fileUploader = new Dropbox(Program.UploadersConfig.DropboxOAuthInfo, Program.UploadersConfig.DropboxAccountInfo)
                {
                    UploadPath = uploadPath,
                    AutoCreateShareableLink = Program.UploadersConfig.DropboxAutoCreateShareableLink,
                    ShareURLType            = Program.UploadersConfig.DropboxURLType
                };
                break;

            case FileDestination.GoogleDrive:
                fileUploader = new GoogleDrive(Program.UploadersConfig.GoogleDriveOAuth2Info)
                {
                    IsPublic = Program.UploadersConfig.GoogleDriveIsPublic
                };
                break;

            case FileDestination.RapidShare:
                fileUploader = new RapidShare(Program.UploadersConfig.RapidShareUsername, Program.UploadersConfig.RapidSharePassword,
                                              Program.UploadersConfig.RapidShareFolderID);
                break;

            case FileDestination.SendSpace:
                fileUploader = new SendSpace(APIKeys.SendSpaceKey);
                switch (Program.UploadersConfig.SendSpaceAccountType)
                {
                case AccountType.Anonymous:
                    SendSpaceManager.PrepareUploadInfo(APIKeys.SendSpaceKey);
                    break;

                case AccountType.User:
                    SendSpaceManager.PrepareUploadInfo(APIKeys.SendSpaceKey, Program.UploadersConfig.SendSpaceUsername, Program.UploadersConfig.SendSpacePassword);
                    break;
                }
                break;

            case FileDestination.Minus:
                fileUploader = new Minus(Program.UploadersConfig.MinusConfig, Program.UploadersConfig.MinusOAuth2Info);
                break;

            case FileDestination.Box:
                fileUploader = new Box(Program.UploadersConfig.BoxOAuth2Info)
                {
                    FolderID = Program.UploadersConfig.BoxSelectedFolder.id,
                    Share    = Program.UploadersConfig.BoxShare
                };
                break;

            case FileDestination.Ge_tt:
                if (Program.UploadersConfig.IsActive(FileDestination.Ge_tt))
                {
                    fileUploader = new Ge_tt(APIKeys.Ge_ttKey)
                    {
                        AccessToken = Program.UploadersConfig.Ge_ttLogin.AccessToken
                    };
                }
                break;

            case FileDestination.Localhostr:
                fileUploader = new Hostr(Program.UploadersConfig.LocalhostrEmail, Program.UploadersConfig.LocalhostrPassword)
                {
                    DirectURL = Program.UploadersConfig.LocalhostrDirectURL
                };
                break;

            case FileDestination.CustomFileUploader:
                if (Program.UploadersConfig.CustomUploadersList.IsValidIndex(Program.UploadersConfig.CustomFileUploaderSelected))
                {
                    fileUploader = new CustomFileUploader(Program.UploadersConfig.CustomUploadersList[Program.UploadersConfig.CustomFileUploaderSelected]);
                }
                break;

            case FileDestination.FTP:
                int index = Info.TaskSettings.OverrideFTP ? Info.TaskSettings.FTPIndex.BetweenOrDefault(0, Program.UploadersConfig.FTPAccountList.Count - 1) : Program.UploadersConfig.GetFTPIndex(Info.DataType);

                FTPAccount account = Program.UploadersConfig.FTPAccountList.ReturnIfValidIndex(index);

                if (account != null)
                {
                    if (account.Protocol == FTPProtocol.SFTP)
                    {
                        fileUploader = new SFTP(account);
                    }
                    else
                    {
                        fileUploader = new FTPUploader(account);
                    }
                }
                break;

            case FileDestination.SharedFolder:
                int idLocalhost = Program.UploadersConfig.GetLocalhostIndex(Info.DataType);
                if (Program.UploadersConfig.LocalhostAccountList.IsValidIndex(idLocalhost))
                {
                    fileUploader = new SharedFolderUploader(Program.UploadersConfig.LocalhostAccountList[idLocalhost]);
                }
                break;

            case FileDestination.Email:
                using (EmailForm emailForm = new EmailForm(Program.UploadersConfig.EmailRememberLastTo ? Program.UploadersConfig.EmailLastTo : string.Empty,
                                                           Program.UploadersConfig.EmailDefaultSubject, Program.UploadersConfig.EmailDefaultBody))
                {
                    emailForm.Icon = ShareXResources.Icon;

                    if (emailForm.ShowDialog() == DialogResult.OK)
                    {
                        if (Program.UploadersConfig.EmailRememberLastTo)
                        {
                            Program.UploadersConfig.EmailLastTo = emailForm.ToEmail;
                        }

                        fileUploader = new Email
                        {
                            SmtpServer = Program.UploadersConfig.EmailSmtpServer,
                            SmtpPort   = Program.UploadersConfig.EmailSmtpPort,
                            FromEmail  = Program.UploadersConfig.EmailFrom,
                            Password   = Program.UploadersConfig.EmailPassword,
                            ToEmail    = emailForm.ToEmail,
                            Subject    = emailForm.Subject,
                            Body       = emailForm.Body
                        };
                    }
                    else
                    {
                        IsStopped = true;
                    }
                }
                break;

            case FileDestination.Jira:
                fileUploader = new Jira(Program.UploadersConfig.JiraHost, Program.UploadersConfig.JiraOAuthInfo, Program.UploadersConfig.JiraIssuePrefix);
                break;

            case FileDestination.Mega:
                fileUploader = new Mega(Program.UploadersConfig.MegaAuthInfos, Program.UploadersConfig.MegaParentNodeId);
                break;

            case FileDestination.AmazonS3:
                fileUploader = new AmazonS3(Program.UploadersConfig.AmazonS3Settings);
                break;

            case FileDestination.Pushbullet:
                fileUploader = new Pushbullet(Program.UploadersConfig.PushbulletSettings);
                break;
            }

            if (fileUploader != null)
            {
                PrepareUploader(fileUploader);
                return(fileUploader.Upload(stream, fileName));
            }

            return(null);
        }
Пример #6
0
 public Applications()
 {
     InitializeComponent();
     sftp = new SFTP();
 }
Пример #7
0
        private void FTPTestAccount(FTPAccount account)
        {
            string        msg         = "";
            string        remotePath  = account.GetSubFolderPath();
            List <string> directories = new List <string>();

            try
            {
                if (account.Protocol == FTPProtocol.FTP || account.Protocol == FTPProtocol.FTPS)
                {
                    using (FTP ftp = new FTP(account))
                    {
                        if (ftp.Connect())
                        {
                            if (!ftp.DirectoryExists(remotePath))
                            {
                                directories = ftp.CreateMultiDirectory(remotePath);
                            }

                            if (ftp.IsConnected)
                            {
                                if (directories.Count > 0)
                                {
                                    msg = Resources.UploadersConfigForm_TestFTPAccount_Connected_Created_folders + "\r\n" + string.Join("\r\n", directories);
                                }
                                else
                                {
                                    msg = Resources.UploadersConfigForm_TestFTPAccount_Connected_;
                                }
                            }
                        }
                    }
                }
                else if (account.Protocol == FTPProtocol.SFTP)
                {
                    using (SFTP sftp = new SFTP(account))
                    {
                        if (sftp.Connect())
                        {
                            if (!sftp.DirectoryExists(remotePath))
                            {
                                directories = sftp.CreateMultiDirectory(remotePath);
                            }

                            if (sftp.IsConnected)
                            {
                                if (directories.Count > 0)
                                {
                                    msg = Resources.UploadersConfigForm_TestFTPAccount_Connected_Created_folders + "\r\n" + string.Join("\r\n", directories);
                                }
                                else
                                {
                                    msg = Resources.UploadersConfigForm_TestFTPAccount_Connected_;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                msg = e.Message;
            }

            MessageBox.Show(msg, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
Пример #8
0
        public bool GetFiles()
        {
            bool status = false;

            _sftp = new SFTP(m_sftpUserName, m_sftpKey);
            _sftp.EnableLogging();
            _sftp.HostAddress = m_sftpSite;
            _sftp.UserName = m_sftpSiteUserName;
            _sftp.SshKeyFile = m_identityFile;
            _sftp.SshPassphrase = @"t0y0ta69";
            try
            {
                try
                {
                    // connect
                    _sftp.Connect();

                }
                catch (KellermanSoftware.NetSFtpLibrary.Implementation.SftpException ke)
                {

                    LogMsg("NEXCEPTION:SftpMgr::_sftp.Connect():ECaught:" + ke.Message);

                }
                // get a directory list
                List<FTPFileInfo> rFiles = _sftp.GetAllFiles(m_sftpSiteRemoteFolder);

                // process the list
                foreach (FTPFileInfo file in rFiles)
                {
                    if (file.Equals(".") || file.Equals(".."))
                        continue;

                    string f = this.ParseFileName(file.FileName);

                    // if we got it, don't get it
                    if ( this.CheckDb(f) )
                        continue;

                    try
                    {
                        // get the file and put in the watch folder to be processed
                        _sftp.DownloadFile(m_moveToProcessFolder + f, file.FileName);

                        string newPlace = m_moveAfterProcessingFolder + f;
                        bool moved =_sftp.MoveFile(file.FileName, newPlace );

                        // update the database to indicate file has been downloaded
                        this.UpdateDb(f);

                    }
                    catch (SystemException se)
                    {
                        LogMsg("NEXCEPTION:SftpMgr::GetFile():ECaught::"+se.Message + se.StackTrace );
                    }

                }

                _sftp.Disconnect();
                _sftp.Dispose();

                status = true;

            }
            catch (SystemException se)
            {
                LogMsg("NEXCEPTION:SftpMgr::GetFile():ECaught:TryingToGetFile::" + se.Message);
            }

            return status;
        }
Пример #9
0
        private UploadResult UploadFile(string ssPath)
        {
            FileUploader fileUploader = null;

            switch (Program.Settings.ImageFileUploaderType)
            {
            case FileDestination.Dropbox:
                fileUploader = new Dropbox(Program.UploadersConfig.DropboxOAuth2Info, Program.UploadersConfig.DropboxAccountInfo)
                {
                    UploadPath = NameParser.Parse(NameParserType.URL, Dropbox.TidyUploadPath(Program.UploadersConfig.DropboxUploadPath)),
                    AutoCreateShareableLink = Program.UploadersConfig.DropboxAutoCreateShareableLink,
                    ShareURLType            = Program.UploadersConfig.DropboxURLType
                };
                break;

            case FileDestination.Copy:
                fileUploader = new Copy(Program.UploadersConfig.CopyOAuthInfo, Program.UploadersConfig.CopyAccountInfo)
                {
                    UploadPath = NameParser.Parse(NameParserType.URL, Copy.TidyUploadPath(Program.UploadersConfig.CopyUploadPath)),
                    URLType    = Program.UploadersConfig.CopyURLType
                };
                break;

            case FileDestination.GoogleDrive:
                fileUploader = new GoogleDrive(Program.UploadersConfig.GoogleDriveOAuth2Info)
                {
                    IsPublic = Program.UploadersConfig.GoogleDriveIsPublic,
                    FolderID = Program.UploadersConfig.GoogleDriveUseFolder ? Program.UploadersConfig.GoogleDriveFolderID : null
                };
                break;

            case FileDestination.RapidShare:
                fileUploader = new RapidShare(Program.UploadersConfig.RapidShareUsername, Program.UploadersConfig.RapidSharePassword, Program.UploadersConfig.RapidShareFolderID);
                break;

            case FileDestination.SendSpace:
                fileUploader = new SendSpace(APIKeys.SendSpaceKey);
                switch (Program.UploadersConfig.SendSpaceAccountType)
                {
                case AccountType.Anonymous:
                    SendSpaceManager.PrepareUploadInfo(APIKeys.SendSpaceKey);
                    break;

                case AccountType.User:
                    SendSpaceManager.PrepareUploadInfo(APIKeys.SendSpaceKey, Program.UploadersConfig.SendSpaceUsername, Program.UploadersConfig.SendSpacePassword);
                    break;
                }
                break;

            case FileDestination.Minus:
                fileUploader = new Minus(Program.UploadersConfig.MinusConfig, Program.UploadersConfig.MinusOAuth2Info);
                break;

            case FileDestination.Box:
                fileUploader = new Box(Program.UploadersConfig.BoxOAuth2Info)
                {
                    FolderID = Program.UploadersConfig.BoxSelectedFolder.id,
                    Share    = Program.UploadersConfig.BoxShare
                };
                break;

            case FileDestination.Gfycat:
                fileUploader = new GfycatUploader();
                break;

            case FileDestination.Ge_tt:
                fileUploader = new Ge_tt(APIKeys.Ge_ttKey)
                {
                    AccessToken = Program.UploadersConfig.Ge_ttLogin.AccessToken
                };
                break;

            case FileDestination.Localhostr:
                fileUploader = new Hostr(Program.UploadersConfig.LocalhostrEmail, Program.UploadersConfig.LocalhostrPassword)
                {
                    DirectURL = Program.UploadersConfig.LocalhostrDirectURL
                };
                break;

            case FileDestination.CustomFileUploader:
                if (Program.UploadersConfig.CustomUploadersList.IsValidIndex(Program.UploadersConfig.CustomFileUploaderSelected))
                {
                    fileUploader = new CustomFileUploader(Program.UploadersConfig.CustomUploadersList[Program.UploadersConfig.CustomFileUploaderSelected]);
                }
                break;

            case FileDestination.FTP:
                FTPAccount account = Program.UploadersConfig.FTPAccountList.ReturnIfValidIndex(Program.UploadersConfig.FTPSelectedImage);

                if (account != null)
                {
                    if (account.Protocol == FTPProtocol.FTP || account.Protocol == FTPProtocol.FTPS)
                    {
                        fileUploader = new FTP(account);
                    }
                    else if (account.Protocol == FTPProtocol.SFTP)
                    {
                        fileUploader = new SFTP(account);
                    }
                }
                break;

            case FileDestination.SharedFolder:
                int idLocalhost = Program.UploadersConfig.LocalhostSelectedImages;
                if (Program.UploadersConfig.LocalhostAccountList.IsValidIndex(idLocalhost))
                {
                    fileUploader = new SharedFolderUploader(Program.UploadersConfig.LocalhostAccountList[idLocalhost]);
                }
                break;

            case FileDestination.Email:
                using (EmailForm emailForm = new EmailForm(Program.UploadersConfig.EmailRememberLastTo ? Program.UploadersConfig.EmailLastTo : string.Empty,
                                                           Program.UploadersConfig.EmailDefaultSubject, Program.UploadersConfig.EmailDefaultBody))
                {
                    emailForm.Icon = ShareXResources.Icon;

                    if (emailForm.ShowDialog() == DialogResult.OK)
                    {
                        if (Program.UploadersConfig.EmailRememberLastTo)
                        {
                            Program.UploadersConfig.EmailLastTo = emailForm.ToEmail;
                        }

                        fileUploader = new Email
                        {
                            SmtpServer = Program.UploadersConfig.EmailSmtpServer,
                            SmtpPort   = Program.UploadersConfig.EmailSmtpPort,
                            FromEmail  = Program.UploadersConfig.EmailFrom,
                            Password   = Program.UploadersConfig.EmailPassword,
                            ToEmail    = emailForm.ToEmail,
                            Subject    = emailForm.Subject,
                            Body       = emailForm.Body
                        };
                    }
                }
                break;

            case FileDestination.Jira:
                fileUploader = new Jira(Program.UploadersConfig.JiraHost, Program.UploadersConfig.JiraOAuthInfo, Program.UploadersConfig.JiraIssuePrefix);
                break;

            case FileDestination.Mega:
                fileUploader = new Mega(Program.UploadersConfig.MegaAuthInfos, Program.UploadersConfig.MegaParentNodeId);
                break;

            case FileDestination.AmazonS3:
                fileUploader = new AmazonS3(Program.UploadersConfig.AmazonS3Settings);
                break;

            case FileDestination.OwnCloud:
                fileUploader = new OwnCloud(Program.UploadersConfig.OwnCloudHost, Program.UploadersConfig.OwnCloudUsername, Program.UploadersConfig.OwnCloudPassword)
                {
                    Path              = Program.UploadersConfig.OwnCloudPath,
                    CreateShare       = Program.UploadersConfig.OwnCloudCreateShare,
                    DirectLink        = Program.UploadersConfig.OwnCloudDirectLink,
                    IgnoreInvalidCert = Program.UploadersConfig.OwnCloudIgnoreInvalidCert
                };
                break;

            case FileDestination.Pushbullet:
                fileUploader = new Pushbullet(Program.UploadersConfig.PushbulletSettings);
                break;

            case FileDestination.MediaCrush:
                fileUploader = new MediaCrushUploader()
                {
                    DirectLink = Program.UploadersConfig.MediaCrushDirectLink
                };
                break;

            case FileDestination.MediaFire:
                fileUploader = new MediaFire(APIKeys.MediaFireAppId, APIKeys.MediaFireApiKey, Program.UploadersConfig.MediaFireUsername, Program.UploadersConfig.MediaFirePassword)
                {
                    UploadPath  = NameParser.Parse(NameParserType.URL, Program.UploadersConfig.MediaFirePath),
                    UseLongLink = Program.UploadersConfig.MediaFireUseLongLink
                };
                break;

            case FileDestination.Pomf:
                fileUploader = new Pomf();
                break;
            }

            if (fileUploader != null)
            {
                ReportProgress(ProgressType.UPDATE_STATUSBAR_DEBUG, string.Format("Uploading {0}.", Path.GetFileName(ssPath)));
                return(fileUploader.Upload(ssPath));
            }

            return(null);
        }
Пример #10
0
        public static void TestFTPAccount(FTPAccount account, bool silent)
        {
            string msg = string.Empty;
            string sfp = account.GetSubFolderPath();

            switch (account.Protocol)
            {
            case FTPProtocol.SFTP:
                SFTP sftp = new SFTP(account);
                if (!sftp.IsInstantiated)
                {
                    msg = "An SFTP client couldn't be instantiated, not enough information.\nCould be a missing key file.";
                }
                else if (sftp.Connect())
                {
                    List <string> createddirs = new List <string>();
                    if (!sftp.DirectoryExists(sfp))
                    {
                        createddirs = sftp.CreateMultipleDirectorys(FTPHelpers.GetPaths(sfp));
                    }
                    if (sftp.IsConnected)
                    {
                        msg = (createddirs.Count == 0) ? "Connected!" : "Conected!\nCreated folders;\n";
                        for (int x = 0; x <= createddirs.Count - 1; x++)
                        {
                            msg += createddirs[x] + "\n";
                        }
                        msg += " \n\nPing results:\n " + SendPing(account.Host, 3);
                        sftp.Disconnect();
                    }
                }
                break;

            default:
                using (FTP ftpClient = new FTP(account))
                {
                    try
                    {
                        //DateTime time = DateTime.Now;
                        ftpClient.Test(sfp);
                        msg = "Success!";
                    }
                    catch (Exception e)
                    {
                        if (e.Message.StartsWith("Could not change working directory to"))
                        {
                            try
                            {
                                ftpClient.MakeMultiDirectory(sfp);
                                ftpClient.Test(sfp);
                                msg = "Success!\nAuto created folders: " + sfp;
                            }
                            catch (Exception e2)
                            {
                                msg = e2.Message;
                            }
                        }
                        else
                        {
                            msg = e.Message;
                        }
                    }
                }

                if (!string.IsNullOrEmpty(msg))
                {
                    string ping = SendPing(account.Host, 3);
                    if (!string.IsNullOrEmpty(ping))
                    {
                        msg += "\n\nPing results:\n" + ping;
                    }

                    if (silent)
                    {
                        // Engine.MyLogger.WriteLine(string.Format("Tested {0} sub-folder path in {1}", sfp, account.ToString()));
                    }
                    else
                    {
                        //MessageBox.Show(msg, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                break;
            }
            if (silent)
            {
                DebugHelper.WriteLine(string.Format("Tested {0} sub-folder path in {1}", sfp, account.ToString()));
            }
            else
            {
                MessageBox.Show(msg, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Пример #11
0
        private void readXML(string path)
        {
            Thread.Sleep(2000);
            var appSettings = ConfigurationManager.AppSettings;

            string pathEfectyFiles = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + appSettings["PathEfectyFiles"].ToString();

            XmlDocument xDoc = new XmlDocument();

            xDoc.Load(path);

            XmlNodeList Etiquetas = xDoc.GetElementsByTagName("ETIQUETAS");

            foreach (XmlElement etiqueta in Etiquetas)
            {
                XmlNodeList items = etiqueta.GetElementsByTagName("item");

                string  fileName   = string.Format("FTP{0}.txt", DateTime.Now.ToString("yyyyMMddHHmmssfff"));
                string  guias      = string.Empty;
                int     countLines = 0;
                decimal valorTotal = 0;

                foreach (XmlElement item in items)
                {
                    XmlNodeList nOrgVentas = item.GetElementsByTagName("ORGVENTAS");
                    XmlNodeList nCanalDist = item.GetElementsByTagName("CANALDISTRI");
                    XmlNodeList nCondPago  = item.GetElementsByTagName("CONDICIONPAGO");

                    if (nOrgVentas[0].InnerText.Equals("1030") && nCanalDist[0].InnerText.Equals("10") && nCondPago[0].InnerText.Equals("D01"))
                    {
                        XmlNodeList nNumeroGuia         = item.GetElementsByTagName("NUMEROGUIA");
                        string      guia                = nNumeroGuia[0].InnerText.TrimStart('0'); //El número de guía no debe tener ningún cero adelante
                        XmlNodeList nValorRecaudo       = item.GetElementsByTagName("VALORRECAUDO");
                        string      fechaVencimiento    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                        XmlNodeList nPedidoClienteC1    = item.GetElementsByTagName("PEDIDO_CLIENTE");
                        XmlNodeList nNombresApellidosC2 = item.GetElementsByTagName("NOMBREDESTINATARIO");
                        //XmlNodeList nApellidosC3 = item.GetElementsByTagName("NOMBREDESTINATARIO");
                        XmlNodeList  nPedidoSAPC4         = item.GetElementsByTagName("PEDIDO_SAP");
                        XmlNodeList  nCedula              = item.GetElementsByTagName("CEDULA");
                        const string tipoIdentificacionC5 = "CEDULA DE CIUDADANIA";

                        guias += guia;

                        if (!string.IsNullOrEmpty(nValorRecaudo[0].InnerText) && decimal.Parse(nValorRecaudo[0].InnerText) != 0)
                        {
                            int valorRecaudo = Convert.ToInt32(decimal.Parse(nValorRecaudo[0].InnerText));

                            using (StreamWriter writer = new StreamWriter(string.Format("{0}\\{1}", pathEfectyFiles, fileName), true))
                            {
                                writer.WriteLine("\"01\"|REFERENCIA|VR OBLIGACION|FECHA VENCIMIENTO|CLAVE 1|CLAVE 2|CLAVE 3|CLAVE 4|CLAVE 5");
                                writer.WriteLine(string.Format("\"02\"|\"{0}\"|{1}|{2}|{3}|\"{4}\"|\"{5}\"|\"{6}\"|\"{7}\"", guia, valorRecaudo, fechaVencimiento, nPedidoClienteC1[0].InnerText, nNombresApellidosC2[0].InnerText.Length > 50 ? nNombresApellidosC2[0].InnerText.Substring(0, 50) : nNombresApellidosC2[0].InnerText, nPedidoSAPC4[0].InnerText, nCedula[0].InnerText, tipoIdentificacionC5));
                                countLines++;
                                valorTotal += Convert.ToDecimal(nValorRecaudo[0].InnerText);
                                writer.Close();
                            }
                        }
                    }
                }

                if (countLines > 0)
                {
                    using (StreamWriter writer = new StreamWriter(string.Format("{0}\\{1}", pathEfectyFiles, fileName), true))
                    {
                        writer.WriteLine(string.Format("\"03\"|{0}|{1}|{2}|\"\"|\"\"|\"\"|\"\"|\"\"", countLines, valorTotal, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                        writer.Close();
                    }

                    logger.Info(string.Format("Se ha generado el archivo {0}. Guías: {1}", fileName, guias));

                    int uploadFile = SFTP.UploadFile(appSettings["SFTPserver"], appSettings["SFTPuser"], appSettings["SFTPpassword"], pathEfectyFiles + fileName, appSettings["SFTPruta"], fileName);
                    if (uploadFile == 1)
                    {
                        logger.Info(string.Format("El archivo {0} fue cargado en el SFTP", fileName));
                    }
                }
            }
        }
Пример #12
0
        public bool GetFiles()
        {
            bool status = false;

            _sftp = new SFTP(m_sftpUserName, m_sftpKey);
            _sftp.EnableLogging();
            _sftp.HostAddress   = m_sftpSite;
            _sftp.UserName      = m_sftpSiteUserName;
            _sftp.SshKeyFile    = m_identityFile;
            _sftp.SshPassphrase = @"t0y0ta69";
            try
            {
                try
                {
                    // connect
                    _sftp.Connect();
                }
                catch (KellermanSoftware.NetSFtpLibrary.Implementation.SftpException ke)
                {
                    LogMsg("NEXCEPTION:AMSSftpMgr::_sftp.Connect():ECaught:" + ke.Message);
                    return(status);
                }
                // get a directory list
                List <FTPFileInfo> rFiles = _sftp.GetAllFiles(m_sftpSiteRemoteFolder);

                // process the list
                foreach (FTPFileInfo file in rFiles)
                {
                    if (file.Equals(".") || file.Equals(".."))
                    {
                        continue;
                    }

                    string f = this.ParseFileName(file.FileName);

                    // if we got it, don't get it
                    if (this.CheckDb(f))
                    {
                        continue;
                    }

                    try
                    {
                        // get the file and put in the watch folder to be processed
                        _sftp.DownloadFile(m_moveToProcessFolder + f, file.FileName);

                        // if we're crunching it then do it
                        if (this.m_moveToCrunchFlag)
                        {
                            _sftp.DownloadFile(m_moveToCrunchFolder + f, file.FileName);
                        }

                        string newPlace = m_moveAfterProcessingFolder + f;
                        bool   moved    = _sftp.MoveFile(file.FileName, newPlace);
                        bool   dirDone  = _sftp.CreateDirectory("tested");

                        // update the database to indicate file has been downloaded
                        this.UpdateDb(f);
                    }
                    catch (SystemException se)
                    {
                        LogMsg("NEXCEPTION:AMSSftpMgr::GetFile():ECaught::" + se.Message + se.StackTrace);
                    }
                }

                _sftp.Disconnect();
                _sftp.Dispose();

                status = true;
            }
            catch (SystemException se)
            {
                LogMsg("NEXCEPTION:AMSSftpMgr::GetFile():ECaught:TryingToGetFile::" + se.Message);
            }

            return(status);
        } // getFile()
Пример #13
0
        //internal static Cryptor Cryptor { get => cryptor; set => cryptor = value; }

        public static void Main()
        {
            Database db   = new Database();
            SFTP     sftp = new SFTP();

            //Cryptor = new Cryptor();
            Compresser = new Compresser();
            try
            {
                IPAddress ipAd = IPAddress.Parse("127.0.0.1");

                TcpListener myList = new TcpListener(ipAd, 8001);
                myList.Start();

                Console.WriteLine("The server is running at port 8001...");
                Console.WriteLine("The local End point is  :" + myList.LocalEndpoint);
                Console.WriteLine("Waiting for a connection.....");

                Socket s = myList.AcceptSocket();
                Console.WriteLine("Connection accepted from " + s.RemoteEndPoint);

                /*
                 * SendInt(s, 10);
                 * SendString(s, "Ana are mere");
                 * Console.WriteLine("Numarul primit este: " + ReceiveInt(s));
                 * Console.WriteLine("Mesajul primit este: " + ReceiveString(s));
                 * RecieveZip(s);
                 */
                bool running = true;
                while (running == true)
                {
                    int command = ReceiveInt(s);
                    Console.WriteLine("Comanda: " + command);
                    if (command == 1)
                    {
                        String nume    = ReceiveString(s);
                        String prenume = ReceiveString(s);
                        SendString(s, "Conectat!");
                    }

                    if (command == 2)
                    {
                        String nume    = ReceiveString(s);
                        String prenume = ReceiveString(s);
                        int    varsta  = ReceiveInt(s);
                        SendString(s, "Inregistrat!");
                    }

                    if (command == 3)
                    {
                        running = false;
                    }
                }

                /*
                 * String museumName = ReceiveText(s);
                 * String museumPath = db.GetPath(museumName);
                 * sftp.GetMuseumPackage(museumPath);
                 * //Send(s, sftp.GetMuseumPackage(museumPath));
                 *
                 *
                 * Console.WriteLine(ReceiveText(s));
                 * SendText(s, "Mesaj");
                 *
                 * //   SendPhoto(s, "G:\\Doc\\smart-museum-client-server-module\\Client_Server\\meme.jpg");
                 * //SendPhoto(s, "C:\\Users\\abucevschi\\Desktop\\smart-museum-client-server-module\\Client_Server\\meme.jpg");
                 * SendPhoto(s, "E:\\Dropbox\\Facultate\\IP\\Proiect\\Client_Server\\meme.jpg");
                 */
                s.Close();
                myList.Stop();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error..... " + e.StackTrace);
            }
        }
Пример #14
0
 public Web_Control()
 {
     InitializeComponent();
     sftp     = new SFTP();
     cacheUrl = "./webControl_cache.txt";
 }