/// <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; }
/// <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); }
/// <summary> /// Sets parameter's value to checkbox control's checked value. /// </summary> /// <param name="control">Control to set value to.</param> /// <param name="parameterName">Parameter name.</param> protected void SetParameter(CheckBox control, string parameterName) { ScheduleTaskParameterInfo parameter = this.FindParameterById(parameterName); control.Checked = String.IsNullOrEmpty(parameter.ParameterValue) ? Convert.ToBoolean(parameter.DefaultValue) : Convert.ToBoolean(parameter.ParameterValue); }
/// <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 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 parameter's value to textbox control's text property. /// </summary> /// <param name="control">Control to set value to.</param> /// <param name="parameterName">Parameter name.</param> protected void SetParameter(TextBox control, string parameterName) { ScheduleTaskParameterInfo parameter = this.FindParameterById(parameterName); control.Text = String.IsNullOrEmpty(parameter.ParameterValue) ? parameter.DefaultValue : parameter.ParameterValue; }
/// <summary> /// Sets parameter's value to drop down list control's list and selected value. /// </summary> /// <param name="control">Control to set value to.</param> /// <param name="parameterName">Parameter name.</param> protected void SetParameter(DropDownList control, string parameterName) { ScheduleTaskParameterInfo parameter = this.FindParameterById(parameterName); control.Items.Clear(); Utils.ParseGroup(parameter.DefaultValue).ForEach(delegate(KeyValuePair <string, string> i) { control.Items.Add(new ListItem(i.Key, i.Value)); }); Utils.SelectListItem(control, parameter.ParameterValue); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo suspendOverusedSpaces = this.GetParameter(this.ddlSuspendOverusedSpaces, SuspendOverusedSpacesParameter); return(new ScheduleTaskParameterInfo[1] { suspendOverusedSpaces }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo suspendWhenDiskSpaceOverused = this.GetParameter(this.txtSpaceFolder, SpaceFolderParameter); ScheduleTaskParameterInfo suspendWhenBandwidthOverused = this.GetParameter(this.txtZipFile, ZipFileParameter); return(new ScheduleTaskParameterInfo[2] { suspendWhenDiskSpaceOverused, suspendWhenBandwidthOverused }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo serverName = this.GetParameter(this.txtServerName, ServerNameParameter); ScheduleTaskParameterInfo executablePath = this.GetParameter(this.txtExecutablePath, ExecutablePathParameter); ScheduleTaskParameterInfo executableParameters = this.GetParameter(this.txtExecutableParameters, ExecutableParametersParameter); return(new ScheduleTaskParameterInfo[3] { serverName, executablePath, executableParameters }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo daysBefore = this.GetParameter(this.txtDaysBeforeNotify, DaysBeforeParameter); ScheduleTaskParameterInfo mailTo = this.GetParameter(this.txtMailTo, MailToParameter); ScheduleTaskParameterInfo enableNotification = this.GetParameter(this.cbEnableNotify, EnableNotificationParameter); ScheduleTaskParameterInfo includeNonExistenDomains = this.GetParameter(this.cbIncludeNonExistenDomains, IncludeNonExistenDomainsParameter); return(new ScheduleTaskParameterInfo[4] { daysBefore, mailTo, enableNotification, includeNonExistenDomains }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo dnsServers = this.GetParameter(this.txtDnsServers, DnsServersParameter); ScheduleTaskParameterInfo mailTo = this.GetParameter(this.txtMailTo, MailToParameter); ScheduleTaskParameterInfo serverName = this.GetParameter(this.ddlServers, ServerNameParameter); ScheduleTaskParameterInfo pause = this.GetParameter(this.txtPause, PauseBetweenQueriesParameter); return(new ScheduleTaskParameterInfo[4] { dnsServers, mailTo, serverName, pause }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo mailFrom = this.GetParameter(this.txtMailFrom, MailFromParameter); ScheduleTaskParameterInfo mailTo = this.GetParameter(this.txtMailTo, MailToParameter); ScheduleTaskParameterInfo mailSubject = this.GetParameter(this.txtMailSubject, MailSubjectParameter); ScheduleTaskParameterInfo mailBody = this.GetParameter(this.txtMailBody, MailBodyParameter); return(new ScheduleTaskParameterInfo[4] { mailFrom, mailTo, mailSubject, mailBody }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo databaseGroup = this.GetParameter(this.ddlDatabaseType, DatabaseGroupParameter); ScheduleTaskParameterInfo databaseName = this.GetParameter(this.txtDatabaseName, DatabaseNameParameter); ScheduleTaskParameterInfo backupFolder = this.GetParameter(this.txtBackupFolder, BackupFolderParameter); ScheduleTaskParameterInfo backupName = this.GetParameter(this.txtBackupName, BackupNameParameter); ScheduleTaskParameterInfo zipBackup = this.GetParameter(this.ddlZipBackup, ZipBackupParameter); return(new ScheduleTaskParameterInfo[5] { databaseGroup, databaseName, backupFolder, backupName, zipBackup }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo filePath = this.GetParameter(this.txtFilePath, FilePathParameter); ScheduleTaskParameterInfo server = this.GetParameter(this.txtServer, ServerParameter); ScheduleTaskParameterInfo userName = this.GetParameter(this.txtUserName, UserNameParameter); ScheduleTaskParameterInfo password = this.GetParameter(this.txtPassword, PasswordParameter); ScheduleTaskParameterInfo remoteFolder = this.GetParameter(this.txtRemoteFolder, RemoteFolderParameter); return(new ScheduleTaskParameterInfo[5] { filePath, server, userName, password, remoteFolder }); }
public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo exchange = GetParameter(cbExchange, EXCHANGE_REPORT); ScheduleTaskParameterInfo sharepoint = GetParameter(cbSharePoint, SHAREPOINT_REPORT); ScheduleTaskParameterInfo crm = GetParameter(cbCRM, CRM_REPORT); ScheduleTaskParameterInfo organization = GetParameter(cbOrganization, ORGANIZATION_REPORT); ScheduleTaskParameterInfo email = GetParameter(txtMail, EMAIL); return(new ScheduleTaskParameterInfo[5] { exchange, sharepoint, crm, organization, email }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo mailTo = GetParameter(txtMailTo, MailToParameter); ScheduleTaskParameterInfo auditLogSeverity = GetParameter(ddlAuditLogSeverity, AuditLogSeverityParameter); ScheduleTaskParameterInfo auditLogSource = GetParameter(ddlAuditLogSource, AuditLogSourceParameter); ScheduleTaskParameterInfo auditLogTask = GetParameter(ddlAuditLogTask, AuditLogTaskParameter); ScheduleTaskParameterInfo auditLogDate = GetParameter(ddlAuditLogDate, AuditLogDateParameter); ScheduleTaskParameterInfo showExecutionLog = GetParameter(ddlExecutionLog, ShowExecutionLogParameter); return(new ScheduleTaskParameterInfo[6] { mailTo, auditLogSeverity, auditLogSource, auditLogTask, auditLogDate, showExecutionLog }); }
protected void gvTaskParameters_RowDataBound(object sender, GridViewRowEventArgs e) { ParameterEditor txtValue = (ParameterEditor)e.Row.FindControl("txtValue"); if (txtValue == null) { return; } ScheduleTaskParameterInfo prm = (ScheduleTaskParameterInfo)e.Row.DataItem; txtValue.DataType = prm.DataTypeId; txtValue.DefaultValue = prm.DefaultValue; txtValue.Value = prm.ParameterValue; }
/// <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> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo url = this.GetParameter(this.txtUrl, UrlParameter); ScheduleTaskParameterInfo accessUsername = this.GetParameter(this.txtAccessUsername, AccessUsernameParameter); ScheduleTaskParameterInfo accessPassword = this.GetParameter(this.txtAccessPassword, AccessPasswordParameter); ScheduleTaskParameterInfo useSendMessageIfResponseStatus = this.GetParameter(this.cbxResponseStatus, UseSendMessageIfResponseStatusParameter); ScheduleTaskParameterInfo useSendMessageIfResponseContains = this.GetParameter(this.cbxResponseContains, UseSendMessageIfResponseContainsParameter); ScheduleTaskParameterInfo useSendMessageIfResponseDoesntContain = this.GetParameter(this.cbxResponseDoesntContain, UseSendMessageIfResponseDoesntContainParameter); ScheduleTaskParameterInfo sendMessageIfResponseStatus = this.GetParameter(this.txtResponseStatus, SendMessageIfResponseStatusParameter); ScheduleTaskParameterInfo sendMessageIfResponseContains = this.GetParameter(this.txtResponseContains, SendMessageIfResponseContainsParameter); ScheduleTaskParameterInfo sendMessageIfResponseDoesntContain = this.GetParameter(this.txtResponseDoesntContain, SendMessageIfResponseDoesntContainParameter); ScheduleTaskParameterInfo mailFrom = this.GetParameter(this.txtMailFrom, MailFromParameter); ScheduleTaskParameterInfo mailTo = this.GetParameter(this.txtMailTo, MailToParameter); ScheduleTaskParameterInfo mailSubject = this.GetParameter(this.txtMailSubject, MailSubjectParameter); ScheduleTaskParameterInfo mailBody = this.GetParameter(this.txtMailBody, MailBodyParameter); return(new ScheduleTaskParameterInfo[13] { url, accessUsername, accessPassword, sendMessageIfResponseStatus, sendMessageIfResponseContains, sendMessageIfResponseDoesntContain, useSendMessageIfResponseStatus, useSendMessageIfResponseContains, useSendMessageIfResponseDoesntContain, mailFrom, mailTo, mailSubject, mailBody }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo MSSQLOverused = this.GetParameter(this.cbxMSSQLOverused, MSSQLOverusedParameter); ScheduleTaskParameterInfo MYSQLOverused = this.GetParameter(this.cbxMYSQLOverused, MYSQLOverusedParameter); ScheduleTaskParameterInfo sendWarningEmail = this.GetParameter(this.cbxDoSendWarning, SendWarningEmailParameter); ScheduleTaskParameterInfo warningUsageThreshold = this.GetParameter(this.txtWarningThreshold, WarningUsageThresholdParameter); ScheduleTaskParameterInfo sendOverusedEmail = this.GetParameter(this.cbxDoSendOverused, SendOverusedEmailParameter); ScheduleTaskParameterInfo OverusedUsageThreshold = this.GetParameter(this.txtOverusedThreshold, OverusedUsageThresholdParameter); ScheduleTaskParameterInfo warningMailFrom = this.GetParameter(this.txtWarningMailFrom, WarningMailFromParameter); ScheduleTaskParameterInfo warningMailBcc = this.GetParameter(this.txtWarningMailBcc, WarningMailBccParameter); ScheduleTaskParameterInfo warningMailSubject = this.GetParameter(this.txtWarningMailSubject, WarningMailSubjectParameter); ScheduleTaskParameterInfo warningMailBody = this.GetParameter(this.txtWarningMailBody, WarningMailBodyParameter); ScheduleTaskParameterInfo OverusedMailFrom = this.GetParameter(this.txtOverusedMailFrom, OverusedMailFromParameter); ScheduleTaskParameterInfo OverusedMailBcc = this.GetParameter(this.txtOverusedMailBcc, OverusedMailBccParameter); ScheduleTaskParameterInfo OverusedMailSubject = this.GetParameter(this.txtOverusedMailSubject, OverusedMailSubjectParameter); ScheduleTaskParameterInfo OverusedMailBody = this.GetParameter(this.txtOverusedMailBody, OverusedMailBodyParameter); return(new ScheduleTaskParameterInfo[14] { MSSQLOverused, MYSQLOverused, sendWarningEmail, warningUsageThreshold, sendOverusedEmail, OverusedUsageThreshold, warningMailFrom, warningMailBcc, warningMailSubject, warningMailBody, OverusedMailFrom, OverusedMailBcc, OverusedMailSubject, OverusedMailBody }); }
/// <summary> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo suspendOverused = this.GetParameter(this.cbxDoSuspend, SuspendOverusedParameter); ScheduleTaskParameterInfo suspendWhenDiskSpaceOverused = this.GetParameter(this.cbxSuspendWhenDiskSpaceOverused, SuspendWhenDiskSpaceOverusedParameter); ScheduleTaskParameterInfo suspendWhenBandwidthOverused = this.GetParameter(this.cbxSuspendWhenBandwidthOverused, SuspendWhenBandwidthOverusedParameter); ScheduleTaskParameterInfo sendWarningEmail = this.GetParameter(this.cbxDoSendWarning, SendWarningEmailParameter); ScheduleTaskParameterInfo warningUsageThreshold = this.GetParameter(this.txtWarningThreshold, WarningUsageThresholdParameter); ScheduleTaskParameterInfo sendSuspensionEmail = this.GetParameter(this.cbxDoSendSuspension, SendSuspensionEmailParameter); ScheduleTaskParameterInfo suspensionUsageThreshold = this.GetParameter(this.txtSuspensionThreshold, SuspensionUsageThresholdParameter); ScheduleTaskParameterInfo warningMailFrom = this.GetParameter(this.txtWarningMailFrom, WarningMailFromParameter); ScheduleTaskParameterInfo warningMailBcc = this.GetParameter(this.txtWarningMailBcc, WarningMailBccParameter); ScheduleTaskParameterInfo warningMailSubject = this.GetParameter(this.txtWarningMailSubject, WarningMailSubjectParameter); ScheduleTaskParameterInfo warningMailBody = this.GetParameter(this.txtWarningMailBody, WarningMailBodyParameter); ScheduleTaskParameterInfo suspensionMailFrom = this.GetParameter(this.txtSuspensionMailFrom, SuspensionMailFromParameter); ScheduleTaskParameterInfo suspensionMailBcc = this.GetParameter(this.txtSuspensionMailBcc, SuspensionMailBccParameter); ScheduleTaskParameterInfo suspensionMailSubject = this.GetParameter(this.txtSuspensionMailSubject, SuspensionMailSubjectParameter); ScheduleTaskParameterInfo suspensionMailBody = this.GetParameter(this.txtSuspensionMailBody, SuspensionMailBodyParameter); return(new ScheduleTaskParameterInfo[15] { suspendOverused, suspendWhenDiskSpaceOverused, suspendWhenBandwidthOverused, sendWarningEmail, warningUsageThreshold, sendSuspensionEmail, suspensionUsageThreshold, warningMailFrom, warningMailBcc, warningMailSubject, warningMailBody, suspensionMailFrom, suspensionMailBcc, suspensionMailSubject, suspensionMailBody }); }
/// <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> /// Gets scheduler task parameters from view. /// </summary> /// <returns>Parameters list filled from view.</returns> public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo daysBefore = this.GetParameter(this.txtDaysBeforeNotify, DaysBeforeParameter); return(new[] { daysBefore }); }
private new void SetParameter(DropDownList control, string parameterName) { ScheduleTaskParameterInfo parameter = FindParameterById(parameterName); Utils.SelectListItem(control, parameter.ParameterValue); }
private void SaveTask() { // gather form parameters ScheduleInfo sc = new ScheduleInfo(); sc.ScheduleId = PanelRequest.ScheduleID; sc.ScheduleName = 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(); }