コード例 #1
0
        public static void CreateLogFile(string userId, InstallationProgressModel progressModel)
        {
            var fileName = "InstallSuccess.log";
            var content = progressModel.ProgressText;

            if (!string.IsNullOrEmpty(progressModel.ErrorMessage))
            {
                fileName = "InstallError.log";
                content = progressModel.ErrorMessage;
            }

            if (string.IsNullOrEmpty(userId))
                userId = TmpFolder;

            var folderPath = HttpContext.Current.Server.MapPath(DataFolder + userId);

            if (!Directory.Exists(folderPath))
                Directory.CreateDirectory(folderPath);

            var filePath = Path.Combine(folderPath, fileName);

            using (var sw = new StreamWriter(filePath, true))
            {
                sw.WriteLine();
                sw.WriteLine(DateTime.Now.ToLongDateString());
                sw.WriteLine(DateTime.Now.ToLongTimeString());
                sw.Write(content);
                sw.Close();
            }
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        public static void CreateLogFile(string userId, InstallationProgressModel progressModel)
        {
            var fileName = "InstallSuccess.log";
            var content  = progressModel.ProgressText;

            if (!string.IsNullOrEmpty(progressModel.ErrorMessage))
            {
                fileName = "InstallError.log";
                content  = progressModel.ErrorMessage;
            }

            if (string.IsNullOrEmpty(userId))
            {
                userId = TmpFolder;
            }

            var folderPath = HttpContext.Current.Server.MapPath(DataFolder + userId);

            if (!Directory.Exists(folderPath))
            {
                Directory.CreateDirectory(folderPath);
            }

            var filePath = Path.Combine(folderPath, fileName);

            using (var sw = new StreamWriter(filePath, true))
            {
                sw.WriteLine();
                sw.WriteLine(DateTime.Now.ToLongDateString());
                sw.WriteLine(DateTime.Now.ToLongTimeString());
                sw.Write(content);
                sw.Close();
            }
        }
コード例 #4
0
        public static void SetInstallationProgress(string userId, InstallationProgressModel value)
        {
            if (string.IsNullOrEmpty(userId))
            {
                return;
            }

            var key = "installationProgress" + userId;

            CacheSet(key, value, TimeSpan.FromDays(1));
        }
コード例 #5
0
        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)
                }));
            }
        }
コード例 #6
0
        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());
        }
コード例 #7
0
        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)
                }));
            }
        }