public ActionResult Index() { ConnectionSettingsModel connectionSettings = null; InstallationComponentsModel installedComponents = null; InstallationComponentsModel selectedComponents = null; InstallationProgressModel installationProgress = null; if (!string.IsNullOrEmpty(UserId)) { connectionSettings = CacheHelper.GetConnectionSettings(UserId); if (connectionSettings != null) { installedComponents = CacheHelper.GetInstalledComponents(UserId); selectedComponents = CacheHelper.GetSelectedComponents(UserId); installationProgress = CacheHelper.GetInstallationProgress(UserId); } else { CookieHelper.ClearCookie(); CacheHelper.ClearCache(UserId); } } ViewBag.ConnectionSettings = GetJsonString(connectionSettings); ViewBag.InstalledComponents = GetJsonString(installedComponents); ViewBag.SelectedComponents = GetJsonString(selectedComponents); ViewBag.InstallationProgress = GetJsonString(installationProgress); return(View()); }
private void btnSave_Click(object sender, EventArgs e) { if (ValidateData()) { string server = tbServer.Text; int port = 0; string username = tbUsername.Text; string password = tbPassword.Text; if (cbPort.Checked) { port = Convert.ToInt32(tbPort.Text); } var settings = new ConnectionSettingsModel { Server = server, Port = port, Username = username, Password = password }; settings.SaveSettings(); ApplicationSettingData.Setting.Helper.ShowMessage("Settings saved. Re-open application to see changes.", Service.DialogTitles.Info); } else { ApplicationSettingData.Setting.Helper.ShowMessage("Please check the data and try again.", Service.DialogTitles.Error); } }
public JsonResult StartInstall(ConnectionSettingsModel connectionSettings, InstallationComponentsModel installationComponents) { try { var installedComponents = CacheHelper.GetInstalledComponents(UserId); if (installedComponents != null) { return(Json(new { success = false, message = OneClickHomePageResource.ExistVersionErrorText })); } if (!installationComponents.CommunityServer || !installationComponents.DocumentServer) { return(Json(new { success = false, message = OneClickCommonResource.ErrorRequiredComponents })); } if (installationComponents.MailServer && !ValidateDomainName(installationComponents.MailDomain)) { return(Json(new { success = false, message = OneClickJsResource.ErrorInvalidDomainName })); } CacheHelper.SetSelectedComponents(UserId, installationComponents); CacheHelper.SetInstallationProgress(UserId, new InstallationProgressModel()); SshHelper.StartInstallation(UserId, connectionSettings, installationComponents); return(Json(new { success = true, message = string.Empty, selectedComponents = GetJsonString(CacheHelper.GetSelectedComponents(UserId)), installationProgress = GetJsonString(CacheHelper.GetInstallationProgress(UserId)) })); } catch (Exception ex) { LogManager.GetLogger("ASC").Error(ex.Message, ex); CacheHelper.SetSelectedComponents(UserId, null); CacheHelper.SetInstallationProgress(UserId, null); return(Json(new { success = false, message = ex.Message })); } }
public static void StartInstallation(string userId, ConnectionSettingsModel connectionSettings, InstallationComponentsModel installationComponents) { ThreadPool.QueueUserWorkItem(delegate(object state) { var workerState = state as WorkerState; if (workerState == null) { return; } HttpContext.Current = workerState.Context; using (var installationManager = new InstallationManager(workerState.UserId, workerState.ConnectionSettings, workerState.InstallationComponents)) { installationManager.StartInstallation(); } }, new WorkerState { Context = HttpContext.Current, ConnectionSettings = connectionSettings, InstallationComponents = installationComponents, UserId = userId }); }
public static InstallationComponentsModel Connect(string userId, ConnectionSettingsModel connectionSettings) { using (var installationManager = new InstallationManager(userId, connectionSettings)) { return(installationManager.Connect()); } }
public InstallationManager(string userId, ConnectionSettingsModel connectionSettings, InstallationComponentsModel installationComponents = null) { UserId = userId; ConnectionInfo = GetConnectionInfo(connectionSettings); InstallationProgress = CacheHelper.GetInstallationProgress(userId) ?? new InstallationProgressModel(); InstallationComponents = installationComponents; }
public InstallationManager(string userId, ConnectionSettingsModel connectionSettings, InstallationComponentsModel installationComponents = null) { UserId = userId; LicenseKey = connectionSettings.LicenseKey; Enterprise = connectionSettings.Enterprise; ConnectionInfo = GetConnectionInfo(connectionSettings); InstallationProgress = CacheHelper.GetInstallationProgress(userId) ?? new InstallationProgressModel(); InstallationComponents = installationComponents; InstalledComponents = CacheHelper.GetInstalledComponents(userId) ?? new InstallationComponentsModel(); }
public static void SetConnectionSettings(string userId, ConnectionSettingsModel value) { if (string.IsNullOrEmpty(userId)) { return; } var key = "connectionSettings" + userId; CacheSet(key, value, TimeSpan.FromDays(1)); }
/// <summary> /// This method is used to get the connection string fronm the configuration file. /// </summary> /// <returns>Returns connection string.</returns> private string GetConnectionString() { var model = new ConnectionSettingsModel(); var settings = model.GetSettings(); string connection = string.Empty; if (settings != null) { connection = settings.ConnectionString; } return(connection); }
private static ConnectionInfo GetConnectionInfo(ConnectionSettingsModel connectionSettings) { var authenticationMethods = new List <AuthenticationMethod>(); if (!string.IsNullOrEmpty(connectionSettings.Password)) { authenticationMethods.Add(new PasswordAuthenticationMethod(connectionSettings.UserName, connectionSettings.Password)); } if (!string.IsNullOrEmpty(connectionSettings.SshKey)) { var keyFiles = new[] { new PrivateKeyFile(FileHelper.GetFile(connectionSettings.SshKey)) }; authenticationMethods.Add(new PrivateKeyAuthenticationMethod(connectionSettings.UserName, keyFiles)); } return(new ConnectionInfo(connectionSettings.Host, connectionSettings.UserName, authenticationMethods.ToArray())); }
public JsonResult Connect(ConnectionSettingsModel connectionSettings) { try { InstallationComponentsModel installedComponents = null; InstallationComponentsModel selectedComponents = null; InstallationProgressModel installationProgress = null; if (connectionSettings != null) { installedComponents = SshHelper.Connect(UserId, connectionSettings); installationProgress = CacheHelper.GetInstallationProgress(UserId); selectedComponents = CacheHelper.GetSelectedComponents(UserId); CacheHelper.SetConnectionSettings(UserId, connectionSettings); CacheHelper.SetInstalledComponents(UserId, installedComponents); } else { CookieHelper.ClearCookie(); CacheHelper.ClearCache(UserId); } return(Json(new { success = true, message = string.Empty, connectionSettings = GetJsonString(connectionSettings), installedComponents = GetJsonString(installedComponents), installationProgress = GetJsonString(installationProgress), selectedComponents = GetJsonString(selectedComponents) })); } catch (Exception ex) { LogManager.GetLogger("ASC").Error(ex.Message, ex); return(Json(new { success = false, message = ex.Message, errorCode = GetErrorCode(ex.Message) })); } }
/// <summary> /// This method is used to load settings from the app config file. /// </summary> private void LoadSettings() { var settings = new ConnectionSettingsModel().GetSettings(); if (settings != null) { if (settings.Port != 0) { cbPort.Checked = true; tbPort.Text = settings.Port.ToString(); tbPort.Enabled = true; } tbServer.Text = settings.Server; tbUsername.Text = settings.Username; tbPassword.Text = settings.Password; } }
public ActionResult Index(string id) { var enterprise = !string.IsNullOrEmpty(id) && id.ToLowerInvariant() == "enterprise"; ConnectionSettingsModel connectionSettings = null; InstallationComponentsModel availableComponents = CacheHelper.GetAvailableComponents(enterprise); InstallationComponentsModel installedComponents = null; InstallationComponentsModel selectedComponents = null; InstallationProgressModel installationProgress = null; OsInfo osInfo = null; if (!string.IsNullOrEmpty(UserId)) { connectionSettings = CacheHelper.GetConnectionSettings(UserId); if (connectionSettings != null) { installedComponents = CacheHelper.GetInstalledComponents(UserId); selectedComponents = CacheHelper.GetSelectedComponents(UserId); installationProgress = CacheHelper.GetInstallationProgress(UserId); osInfo = CacheHelper.GetOsInfo(UserId); } else { CookieHelper.ClearCookie(); CacheHelper.ClearUserCache(UserId); } } ViewBag.ConnectionSettings = GetJsonString(connectionSettings); ViewBag.AvailableComponents = GetJsonString(availableComponents); ViewBag.InstalledComponents = GetJsonString(installedComponents); ViewBag.SelectedComponents = GetJsonString(selectedComponents); ViewBag.InstallationProgress = GetJsonString(installationProgress); ViewBag.OsInfo = GetJsonString(osInfo); ViewBag.Enterprise = enterprise; if (!string.IsNullOrEmpty(Settings.CacheKey) && Request.Params["cache"] == Settings.CacheKey) { CacheHelper.ClearCache(); } return(View()); }
public ActionResult SetConnection(ConnectionSettingsModel model) { HttpContext.Response.Cookies.Remove("ConnectionStringName"); try { var db = new Database(model.ConnectionStringName, DatabaseType.SqlServer2008); this.HttpContext.Response.Cookies.Add(new HttpCookie("ConnectionStringName", model.ConnectionStringName)); return(RedirectToAction("Index")); //return Json(new { status = "ok", message = "" }); } catch (Exception e) { return(View(e.Message)); //return Json(new { status = "error", message = e.Message }); } }
private ConnectionSettingsModel RequestLicenseFile(ConnectionSettingsModel connectionSettings, RequestInfoModel requestInfo) { if (requestInfo == null) { throw new Exception(OneClickCommonResource.ErrorRequestInfoIsNull); } using (var client = new WebClient()) { var values = new NameValueCollection(); values["Host"] = connectionSettings.Host; values["FName"] = requestInfo.Name; values["Email"] = requestInfo.Email; values["Phone"] = requestInfo.Phone; values["CompanyName"] = requestInfo.CompanyName; values["CompanySize"] = requestInfo.CompanySize.ToString(CultureInfo.InvariantCulture); values["Position"] = requestInfo.Position; var response = client.UploadValues(Settings.LicenseUrl, values); var responseString = Encoding.Default.GetString(response).Replace("\"", string.Empty); if (responseString.Contains("error")) { throw new ExternalException(responseString); } var licenseFileName = FileHelper.SaveFile(responseString); connectionSettings.LicenseKey = licenseFileName; CacheHelper.SetConnectionSettings(UserId, connectionSettings); return(connectionSettings); } }
public JsonResult Connect(ConnectionSettingsModel connectionSettings, RequestInfoModel requestInfo) { try { InstallationComponentsModel installedComponents = null; InstallationComponentsModel selectedComponents = null; InstallationProgressModel installationProgress = null; OsInfo osInfo = null; if (connectionSettings != null) { if (connectionSettings.Enterprise) { if (string.IsNullOrEmpty(connectionSettings.LicenseKey)) { throw new ArgumentException("connectionSettings.licenseKey"); } if (connectionSettings.LicenseKey == Settings.TrialFileName && requestInfo == null) { throw new ArgumentNullException("requestInfo"); } } var data = SshHelper.Connect(UserId, connectionSettings); osInfo = data.Item1; installedComponents = data.Item2; installationProgress = CacheHelper.GetInstallationProgress(UserId); selectedComponents = CacheHelper.GetSelectedComponents(UserId); CacheHelper.SetConnectionSettings(UserId, connectionSettings); CacheHelper.SetInstalledComponents(UserId, installedComponents); CacheHelper.SetRequestInfo(UserId, requestInfo); } else { CookieHelper.ClearCookie(); CacheHelper.ClearUserCache(UserId); } return(Json(new { success = true, message = string.Empty, connectionSettings = GetJsonString(connectionSettings), installedComponents = GetJsonString(installedComponents), installationProgress = GetJsonString(installationProgress), selectedComponents = GetJsonString(selectedComponents), osInfo = GetJsonString(osInfo) })); } catch (Exception ex) { LogManager.GetLogger("ASC").Error(ex.Message, ex); return(Json(new { success = false, message = ex.Message, errorCode = GetErrorCode(ex.Message) })); } }