/// <summary>
        /// Sets scheduler task parameters on view.
        /// </summary>
        /// <param name="parameters">Parameters list to be set on view.</param>
        public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
        {
            base.SetParameters(parameters);

            this.SetParameter(this.txtDnsServers, DnsServersParameter);
            this.SetParameter(this.txtMailTo, MailToParameter);
            this.SetParameter(this.txtPause, PauseBetweenQueriesParameter);
            this.SetParameter(this.ddlServers, ServerNameParameter);

            var servers = ES.Services.Servers.GetAllServers();

            var osGroup = ES.Services.Servers.GetResourceGroups().First(x => x.GroupName == ResourceGroups.Os);
            var osProviders = ES.Services.Servers.GetProvidersByGroupId(osGroup.GroupId);

            var osServers = new List<ServerInfo>();

            foreach (var server in servers)
            {
                var services = ES.Services.Servers.GetServicesByServerId(server.ServerId);

                if (services.Any(x => osProviders.Any(p=>p.ProviderId  == x.ProviderId)))
                {
                    osServers.Add(server);
                }
            }

            ddlServers.DataSource = osServers.Select(x => new { Id = x.ServerName, Name = x.ServerName });
            ddlServers.DataTextField = "Name";
            ddlServers.DataValueField = "Id";
            ddlServers.DataBind();

            ScheduleTaskParameterInfo parameter = this.FindParameterById(ServerNameParameter);

            ddlServers.SelectedValue = parameter.ParameterValue;
        }
Beispiel #2
0
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			this.SetParameter(this.txtSpaceFolder, SpaceFolderParameter);
			this.SetParameter(this.txtZipFile, ZipFileParameter);
		}
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			this.SetParameter(this.txtServerName, ServerNameParameter);
			this.SetParameter(this.txtExecutablePath, ExecutablePathParameter);
			this.SetParameter(this.txtExecutableParameters, ExecutableParametersParameter);
		}
        /// <summary>
        /// Sets scheduler task parameters on view.
        /// </summary>
        /// <param name="parameters">Parameters list to be set on view.</param>
        public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
        {
            base.SetParameters(parameters);

            this.SetParameter(this.txtDaysBeforeNotify, DaysBeforeParameter);
            this.SetParameter(this.txtMailTo, MailToParameter);
            this.SetParameter(this.cbEnableNotify, EnableNotificationParameter);
            this.SetParameter(this.cbIncludeNonExistenDomains, IncludeNonExistenDomainsParameter);
        }
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			this.SetParameter(this.txtMailFrom, MailFromParameter);
			this.SetParameter(this.txtMailTo, MailToParameter);
			this.SetParameter(this.txtMailSubject, MailSubjectParameter);
			this.SetParameter(this.txtMailBody, MailBodyParameter);
		}
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			this.SetParameter(this.txtFilePath, FilePathParameter);
			this.SetParameter(this.txtServer, ServerParameter);
			this.SetParameter(this.txtUserName, UserNameParameter);
			this.SetParameter(this.txtPassword, PasswordParameter);
			this.SetParameter(this.txtRemoteFolder, RemoteFolderParameter);
		}
        public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
        {
            base.SetParameters(parameters);
            SetParameter(cbExchange, EXCHANGE_REPORT);
            SetParameter(cbSharePoint, SHAREPOINT_REPORT);
            SetParameter(cbCRM, CRM_REPORT);
            SetParameter(cbOrganization, ORGANIZATION_REPORT);
            SetParameter(txtMail, EMAIL);         

        }
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			this.SetParameter(this.ddlDatabaseType, DatabaseGroupParameter);
			this.SetParameter(this.txtDatabaseName, DatabaseNameParameter);
			this.SetParameter(this.txtBackupFolder, BackupFolderParameter);
			this.SetParameter(this.txtBackupName, BackupNameParameter);
			this.SetParameter(this.ddlZipBackup, ZipBackupParameter);
		}
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			this.SetParameter(this.txtUrl, UrlParameter);
			this.SetParameter(this.txtAccessUsername, AccessUsernameParameter);
			this.SetParameter(this.txtAccessPassword, AccessPasswordParameter);
			this.SetParameter(this.cbxResponseStatus, UseSendMessageIfResponseStatusParameter);
			this.SetParameter(this.cbxResponseContains, UseSendMessageIfResponseContainsParameter);
			this.SetParameter(this.cbxResponseDoesntContain, UseSendMessageIfResponseDoesntContainParameter);
			this.SetParameter(this.txtResponseStatus, SendMessageIfResponseStatusParameter);
			this.SetParameter(this.txtResponseContains, SendMessageIfResponseContainsParameter);
			this.SetParameter(this.txtResponseDoesntContain, SendMessageIfResponseDoesntContainParameter);
			this.SetParameter(this.txtMailFrom, MailFromParameter);
			this.SetParameter(this.txtMailTo, MailToParameter);
			this.SetParameter(this.txtMailSubject, MailSubjectParameter);
			this.SetParameter(this.txtMailBody, MailBodyParameter);
		}
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			this.SetParameter(this.cbxMSSQLOverused, MSSQLOverusedParameter);
			this.SetParameter(this.cbxMYSQLOverused, MYSQLOverusedParameter);
			this.SetParameter(this.cbxDoSendWarning, SendWarningEmailParameter);
			this.SetParameter(this.txtWarningThreshold, WarningUsageThresholdParameter);
            this.SetParameter(this.cbxDoSendOverused, SendOverusedEmailParameter);
            this.SetParameter(this.txtOverusedThreshold, OverusedUsageThresholdParameter);
			this.SetParameter(this.txtWarningMailFrom, WarningMailFromParameter);
			this.SetParameter(this.txtWarningMailBcc, WarningMailBccParameter);
			this.SetParameter(this.txtWarningMailSubject, WarningMailSubjectParameter);
			this.SetParameter(this.txtWarningMailBody, WarningMailBodyParameter);
            this.SetParameter(this.txtOverusedMailBody, OverusedMailBodyParameter);
            this.SetParameter(this.txtOverusedMailFrom, OverusedMailFromParameter);
            this.SetParameter(this.txtOverusedMailBcc, OverusedMailBccParameter);
			this.SetParameter(this.txtOverusedMailSubject, OverusedMailSubjectParameter);
		}
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			this.SetParameter(this.cbxDoSuspend, SuspendOverusedParameter);
			this.SetParameter(this.cbxSuspendWhenDiskSpaceOverused, SuspendWhenDiskSpaceOverusedParameter);
			this.SetParameter(this.cbxSuspendWhenBandwidthOverused, SuspendWhenBandwidthOverusedParameter);
			this.SetParameter(this.cbxDoSendWarning, SendWarningEmailParameter);
			this.SetParameter(this.txtWarningThreshold, WarningUsageThresholdParameter);
			this.SetParameter(this.cbxDoSendSuspension, SendSuspensionEmailParameter);
			this.SetParameter(this.txtSuspensionThreshold, SuspensionUsageThresholdParameter);
			this.SetParameter(this.txtWarningMailFrom, WarningMailFromParameter);
			this.SetParameter(this.txtWarningMailBcc, WarningMailBccParameter);
			this.SetParameter(this.txtWarningMailSubject, WarningMailSubjectParameter);
			this.SetParameter(this.txtWarningMailBody, WarningMailBodyParameter);
			this.SetParameter(this.txtSuspensionMailBody, SuspensionMailBodyParameter);
			this.SetParameter(this.txtSuspensionMailFrom, SuspensionMailFromParameter);
			this.SetParameter(this.txtSuspensionMailBcc, SuspensionMailBccParameter);
			this.SetParameter(this.txtSuspensionMailSubject, SuspensionMailSubjectParameter);
		}
Beispiel #12
0
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			if (PanelSecurity.SelectedUser.Role == UserRole.Administrator
				&& PanelSecurity.PackageId < 2)
				ddlDestination.Items.Remove(ddlDestination.Items.FindByValue("1"));

			if (PanelSecurity.LoggedUser.Role != UserRole.Administrator)
				ddlDestination.Items.Remove(ddlDestination.Items.FindByValue("2"));

			if (PanelSecurity.SelectedUser.Role != UserRole.Administrator)
				chkDeleteBackup.Visible = false;

			string modeValue = "";
			string filePrefix = "";

            if (PanelSecurity.PackageId > 0)
			{
				// load a single package
				//PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId);
                PackageInfo[] packages = ES.Services.Packages.GetMyPackages(PanelSecurity.SelectedUser.UserId);

                foreach (PackageInfo package in packages)
                    ddlSpace.Items.Add(new ListItem(package.PackageName, package.PackageId.ToString()));

			    modeValue = ddlSpace.SelectedValue;
				filePrefix = "SpaceBackup";
			}
			else if (PanelRequest.ServiceId > 0)
			{
				ddlDestination.Items.Remove(ddlDestination.Items.FindByValue("1"));

				ServiceInfo service = ES.Services.Servers.GetServiceInfo(PanelRequest.ServiceId);

				modeValue = service.ServiceName;
				filePrefix = "ServiceBackup";
			}
			else if (PanelRequest.ServerId > 0)
			{
				ddlDestination.Items.Remove(ddlDestination.Items.FindByValue("1"));

				ServerInfo server = ES.Services.Servers.GetServerById(PanelRequest.ServerId);

				modeValue = server.ServerName;
				filePrefix = "ServerBackup";
			}
			else if (PanelSecurity.SelectedUserId > 0)
			{
				// load user spaces
				PackageInfo[] packages = ES.Services.Packages.GetMyPackages(PanelSecurity.SelectedUserId);
				foreach (PackageInfo package in packages)
					ddlSpace.Items.Add(new ListItem(package.PackageName, package.PackageId.ToString()));

				modeValue = PanelSecurity.SelectedUser.Username;
				filePrefix = "UserBackup";
			}


			ToggleFormControls();
			InitFolderBrowser();


			this.SetParameter(this.txtBackupFileName, BackupNameParameter);
			if (String.IsNullOrEmpty(this.txtBackupFileName.Text))
			{
				// backup file
				txtBackupFileName.Text = String.Format("{0}-{1}-{2}.wspak", filePrefix,
					Regex.Replace(modeValue, "[^\\w]", "_"),
					DateTime.Now.ToString("ddMMyyyy", System.Globalization.CultureInfo.InvariantCulture));
			}

			ScheduleTaskParameterInfo storePackageId = this.FindParameterById(StorePackageIdParameter);
			if (String.IsNullOrEmpty(storePackageId.ParameterValue))
			{
				// Select server folder as destination.
				this.ddlDestination.SelectedIndex = 1;
				this.ToggleFormControls();
			}

			Utils.SelectListItem(this.ddlSpace, storePackageId.ParameterValue);

			ScheduleTaskParameterInfo storePackageFolder = this.FindParameterById(StorePackageFolderParameter);
			this.spaceFolder.SelectedFile = storePackageFolder.ParameterValue;

			this.SetParameter(this.txtServerPath, StoreServerFolderParameter);
			this.SetParameter(this.chkDeleteBackup, DeleteTempBackupParameter);
		}
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			base.SetParameters(parameters);

			this.SetParameter(this.ddlSuspendOverusedSpaces, SuspendOverusedSpacesParameter);
		}
		/// <summary>
		/// Gets text parameter value from drop down list control.
		/// </summary>
		/// <param name="control">Control to get value from.</param>
		/// <param name="parameterName">Paramter name.</param>
		/// <returns>Parameter.</returns>
		protected ScheduleTaskParameterInfo GetParameter(DropDownList control, string parameterName)
		{
			ScheduleTaskParameterInfo parameter = new ScheduleTaskParameterInfo();
			parameter.ParameterId = parameterName;
			parameter.ParameterValue = control.SelectedValue;
			return parameter;
		}
        /// <summary>
        /// Sets scheduler task parameters on view.
        /// </summary>
        /// <param name="parameters">Parameters list to be set on view.</param>
        public override void SetParameters(ScheduleTaskParameterInfo[] parameters)
        {
            base.SetParameters(parameters);

            this.SetParameter(this.txtDaysBeforeNotify, DaysBeforeParameter);
        }
		/// <summary>
		/// Gets text parameter value from textbox control.
		/// </summary>
		/// <param name="control">Control to get value from.</param>
		/// <param name="parameterName">Paramter name.</param>
		/// <returns>Parameter.</returns>
		protected ScheduleTaskParameterInfo GetParameter(TextBox control, string parameterName)
		{
			ScheduleTaskParameterInfo parameter = new ScheduleTaskParameterInfo();
			parameter.ParameterId = parameterName;
			parameter.ParameterValue = (control.Text.Length > 1000) ? control.Text.Substring(0, 1000) : control.Text;
			return parameter;
		}
		/// <summary>
		/// Gets checked parameter value from textbox control.
		/// </summary>
		/// <param name="control">Control to get value from.</param>
		/// <param name="parameterName">Paramter name.</param>
		/// <returns>Parameter.</returns>
		protected ScheduleTaskParameterInfo GetParameter(CheckBox control, string parameterName)
		{
			ScheduleTaskParameterInfo parameter = new ScheduleTaskParameterInfo();
			parameter.ParameterId = parameterName;
			parameter.ParameterValue = control.Checked.ToString();
			return parameter;
		}
Beispiel #18
0
		/// <summary>
		/// Gets scheduler task parameters from view.
		/// </summary>
		/// <returns>Parameters list filled  from view.</returns>
		public override ScheduleTaskParameterInfo[] GetParameters()
		{
			ScheduleTaskParameterInfo backupName = this.GetParameter(this.txtBackupFileName, BackupNameParameter);
			ScheduleTaskParameterInfo storePackageId = this.GetParameter(this.ddlSpace, StorePackageIdParameter);
			
			ScheduleTaskParameterInfo storePackageFolder = new ScheduleTaskParameterInfo();
			storePackageFolder.ParameterId = StorePackageFolderParameter;
			storePackageFolder.ParameterValue = this.spaceFolder.SelectedFile;

			ScheduleTaskParameterInfo storeServerFolder = this.GetParameter(this.txtServerPath, StoreServerFolderParameter);
			ScheduleTaskParameterInfo deleteTempBackup = this.GetParameter(this.chkDeleteBackup, DeleteTempBackupParameter);

			return new ScheduleTaskParameterInfo[5] { backupName, storePackageId, storePackageFolder, storeServerFolder, deleteTempBackup };
		}
		/// <summary>
		/// Sets scheduler task parameters on view.
		/// </summary>
		/// <param name="parameters">Parameters list to be set on view.</param>
		public virtual void SetParameters(ScheduleTaskParameterInfo[] parameters)
		{
			input = new List<ScheduleTaskParameterInfo>(parameters);
		}
 private static string BuildParametersXml(ScheduleTaskParameterInfo[] parameters)
 {
     XmlDocument doc = new XmlDocument();
     XmlElement nodeProps = doc.CreateElement("parameters");
     if (parameters != null)
     {
         foreach (ScheduleTaskParameterInfo parameter in parameters)
         {
             XmlElement nodeProp = doc.CreateElement("parameter");
             nodeProp.SetAttribute("id", parameter.ParameterId);
             nodeProp.SetAttribute("value", parameter.ParameterValue);
             nodeProps.AppendChild(nodeProp);
         }
     }
     return nodeProps.OuterXml;
 }
        private void SaveTask()
        {
            // gather form parameters
            ScheduleInfo sc = new ScheduleInfo();
            sc.ScheduleId = PanelRequest.ScheduleID;
            sc.ScheduleName = Server.HtmlEncode(txtTaskName.Text.Trim());
            sc.TaskId = ddlTaskType.SelectedValue;

            sc.PackageId = PanelSecurity.PackageId;

            sc.ScheduleTypeId = ddlSchedule.SelectedValue;
            sc.FromTime = timeFromTime.SelectedValue;
            sc.ToTime = timeToTime.SelectedValue;

            sc.StartTime = timeStartTime.SelectedValue;
            sc.Interval = intInterval.Interval;

            // check maximum interval
            // load context
            PackageContext cntx = PackagesHelper.GetCachedPackageContext(PackageId);
            if(cntx.Quotas.ContainsKey(Quotas.OS_MINIMUMTASKINTERVAL))
            {
                int minInterval = cntx.Quotas[Quotas.OS_MINIMUMTASKINTERVAL].QuotaAllocatedValue;
                if (minInterval != -1 && sc.Interval < (minInterval * 60))
                    sc.Interval = (minInterval * 60);
            }

            // run once
            if (ddlSchedule.SelectedIndex == 3)
            {
                DateTime tm = timeStartTime.SelectedValue;
                DateTime dt = DateTime.Parse(txtStartDate.Text);
                DateTime startTime = new DateTime(dt.Year, dt.Month, dt.Day, tm.Hour, tm.Minute, tm.Second);
                sc.StartTime = startTime;
            }

            sc.WeekMonthDay = Utils.ParseInt(txtWeekDay.Text, 0);
            if (ddlSchedule.SelectedIndex == 2)
                sc.WeekMonthDay = Utils.ParseInt(txtMonthDay.Text, 0);


            sc.Enabled = chkEnabled.Checked;
            sc.PriorityId = ddlPriority.SelectedValue;
            sc.HistoriesNumber = 0;
            sc.MaxExecutionTime = intMaxExecutionTime.Interval;

            // gather parameters
            List<ScheduleTaskParameterInfo> parameters = new List<ScheduleTaskParameterInfo>();
            foreach (GridViewRow row in gvTaskParameters.Rows)
            {
                ParameterEditor txtValue = (ParameterEditor)row.FindControl("txtValue");
                if (txtValue == null)
                    continue;

                string prmId = (string)gvTaskParameters.DataKeys[row.RowIndex][0];

                ScheduleTaskParameterInfo parameter = new ScheduleTaskParameterInfo();
                parameter.ParameterId = prmId;
                parameter.ParameterValue = txtValue.Value;
                parameters.Add(parameter);
            }

            sc.Parameters = parameters.ToArray();

			// Gather parameters from view.
			if (this.configurationView != null)
			{
				sc.Parameters = this.configurationView.GetParameters();
			}

            // save
            if (PanelRequest.ScheduleID == 0)
            {
                // add new schedule
                try
                {
                    int result = ES.Services.Scheduler.AddSchedule(sc);
                    if (result < 0)
                    {
                        ShowResultMessage(result);
                        return;
                    }
                }
                catch (Exception ex)
                {
                    ShowErrorMessage("SCHEDULE_ADD_TASK", ex);
                    return;
                }
            }
            else
            {
                // update existing
                try
                {
                    int result = ES.Services.Scheduler.UpdateSchedule(sc);
                    if (result < 0)
                    {
                        ShowResultMessage(result);
                        return;
                    }
                }
                catch (Exception ex)
                {
                    ShowErrorMessage("SCHEDULE_UPDATE_TASK", ex);
                    return;
                }
            }

            // redirect
            RedirectSpaceHomePage();
        }