/// <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); }