/// <summary>
        /// Uploads saved changelog.xml to FTP.
        /// </summary>
        private void UploadChangelog()
        {
            FtpWebRequest ftpRequest = null;
            Stream        ftpStream  = null;
            int           bufferSize = 2048;

            try
            {
                ftpRequest             = (FtpWebRequest)WebRequest.Create(c.SubElText("Paths", "ChangelogFTPPath") + "changelog.xml");
                ftpRequest.Credentials = new NetworkCredential(mainWindow.login, mainWindow.password);
                ftpRequest.UseBinary   = true;
                ftpRequest.UsePassive  = true;
                ftpRequest.KeepAlive   = true;
                ftpRequest.Method      = WebRequestMethods.Ftp.UploadFile;
                ftpStream = ftpRequest.GetRequestStream();
                FileStream localFileStream = new FileStream(Directory.GetCurrentDirectory() + @"\changelog.xml", FileMode.Open);
                byte[]     byteBuffer      = new byte[bufferSize];
                int        bytesSent       = localFileStream.Read(byteBuffer, 0, bufferSize);
                try
                {
                    while (bytesSent != 0)
                    {
                        ftpStream.Write(byteBuffer, 0, bytesSent);
                        bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize);
                    }
                }
                catch (Exception ex) { o.Messagebox(ex.Message); }
                localFileStream.Close();
                ftpStream.Close();
                ftpRequest      = null;
                wasUploadSucces = true;
            }
            catch (Exception ex) { o.Messagebox(c.SubElText("Messages", "ChangelogNotUploaded"), ex); }
        }
        /// <summary>
        /// Checks if version from Output.cs is same/newer than version from VersionPath file. Also deletes possible backup of older Launcher version.
        /// </summary>
        private bool IsUpToDate()
        {
            string versionOnWeb = null;

            try
            {
                using (var client = new AmWebClient(3000))
                    versionOnWeb = client.DownloadString(c.SubElText("Paths", "VersionPath"));
            }
            catch
            {
                o.Messagebox(c.SubElText("Messages", "VersionNotVerified"));
                return(true);
            }
            double webVersion;

            if (Double.TryParse(versionOnWeb.Trim(), NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out webVersion))
            {
                return(webVersion <= c.version);
            }
            else
            {
                o.Messagebox(c.SubElText("Messages", "VersionNotVerified"));
                return(true);
            }
        }
 private bool isValidConnection(string url, string user, string password)
 {
     try
     {
         FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
         request.Method      = WebRequestMethods.Ftp.ListDirectory;
         request.Credentials = new NetworkCredential(user, password);
         request.GetResponse();
     }
     catch (WebException ex)
     {
         o.Messagebox(c.SubElText("Messages", "InvalidFtpPassword"), ex);
         return(false);
     }
     return(true);
 }