Esempio n. 1
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.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;
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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;
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        /// <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
            });
        }
Esempio n. 9
0
        /// <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
            });
        }
Esempio n. 12
0
        /// <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
            });
        }
Esempio n. 13
0
        /// <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
            });
        }
Esempio n. 18
0
        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;
        }
Esempio n. 19
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
            });
        }
Esempio n. 20
0
        /// <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
            });
        }
Esempio n. 21
0
        /// <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
            });
        }
Esempio n. 23
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>
        /// 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);
        }
Esempio n. 26
0
        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();
        }