Example #1
0
 public Schedule(string name, string description, ScheduleType scheduleType, ScheduleRepeat repeatType)
 {
     this.Name         = name;
     this.Description  = description;
     this.ScheduleType = scheduleType;
     this.RepeatType   = repeatType;
     this.ID           = Guid.NewGuid().ToString();
 }
Example #2
0
        private void SelectScheduleTypePage()
        {
            ScheduleType selectedValue = (ScheduleType)comboBoxScheduleType.SelectedItem;

            if (selectedValue.TypeOfSchedule == ScheduleType.ScheduleTypes.BackupDatabase)
            {
                panelScheduleType.SelectedPage = pageBackup;
            }
            else if (selectedValue.TypeOfSchedule == ScheduleType.ScheduleTypes.ExecuteProgram)
            {
                panelScheduleType.SelectedPage = pageExecute;
            }
            else if (selectedValue.TypeOfSchedule == ScheduleType.ScheduleTypes.ShowMessage)
            {
                panelScheduleType.SelectedPage = pageMessage;
            }
        }
Example #3
0
        private ScheduleType GetScheduleType()
        {
            ScheduleType selectedValue = (ScheduleType)comboBoxScheduleType.SelectedItem;

            if (selectedValue.TypeOfSchedule == ScheduleType.ScheduleTypes.BackupDatabase)
            {
                return(new ScheduleTypes.BackupDatabase(txtBackupPath.Text, txtBackupName.Text, (ScheduleTypes.BackupDatabase.SetNameTypes)comboBoxSetBackupNameType.SelectedIndex));
            }
            else if (selectedValue.TypeOfSchedule == ScheduleType.ScheduleTypes.ExecuteProgram)
            {
                return(new ScheduleTypes.ExecuteProgram(txtProgramFilePath.Text, txtProgramParameter.Text));
            }
            else if (selectedValue.TypeOfSchedule == ScheduleType.ScheduleTypes.ShowMessage)
            {
                return(new ScheduleTypes.ShowMessage(txtMessageTitle.Text, txtMessageBody.Text));
            }
            throw new Exception();
        }
Example #4
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                ValidateContent();
            }
            catch (Njit.Common.ValidateException ex)
            {
                PersianMessageBox.Show(ex.Message);
                ex.Control.Leave -= Control_Leave;
                ex.Control.Focus();
                ex.Control.Leave += Control_Leave;
                errorProvider.SetError(ex.Control, ex.Message);
                return;
            }
            ScheduleType   scheduleType   = GetScheduleType();
            ScheduleRepeat scheduleRepeat = GetScheduleRepeat();
            Schedule       schedule       = new Schedule(txtName.Text, txtDescription.Text, scheduleType, scheduleRepeat);

            this.Tag          = schedule;
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
            this.Close();
        }
Example #5
0
        private void ValidateContent()
        {
            if (txtName.Text.Trim() == "")
            {
                throw new Njit.Common.ValidateException(txtName, "نام برنامه زمانی را وارد کنید");
            }
            if (comboBoxScheduleType.SelectedValue == null)
            {
                throw new Njit.Common.ValidateException(comboBoxScheduleType, "نوع برنامه زمانی را انتخاب کنید");
            }
            if (comboBoxRepeat.SelectedValue == null)
            {
                throw new Njit.Common.ValidateException(comboBoxRepeat, "نوع تکرار برنامه زمانی را انتخاب کنید");
            }
            ScheduleType selectedScheduleType = (ScheduleType)comboBoxScheduleType.SelectedItem;

            if (selectedScheduleType.TypeOfSchedule == ScheduleType.ScheduleTypes.BackupDatabase)
            {
                //if (txtDatabaseName.Text == "")
                //    throw new Njit.Common.ValidateException(txtDatabaseName, "پایگاه داده انتخاب نشده است");
                if (txtBackupPath.Text == "")
                {
                    throw new Njit.Common.ValidateException(txtBackupPath, "مسیر ذخیره فایل های پشتیبان انتخاب نشده است");
                }
                if (!System.IO.Directory.Exists(txtBackupPath.Text))
                {
                    throw new Njit.Common.ValidateException(txtBackupPath, "مسیر ذخیره فایل های پشتیبان نامعتبر است");
                }
                if (txtBackupName.Enabled && txtBackupName.Text == "")
                {
                    throw new Njit.Common.ValidateException(txtBackupName, "نام فایل پشتیبان وارد نشده است");
                }
            }
            else if (selectedScheduleType.TypeOfSchedule == ScheduleType.ScheduleTypes.ExecuteProgram)
            {
                if (txtProgramFilePath.Text.Trim() == "")
                {
                    throw new Njit.Common.ValidateException(txtProgramFilePath, "هیچ برنامه ای انتخاب نشده است");
                }
                if (!System.IO.File.Exists(txtProgramFilePath.Text))
                {
                    throw new Njit.Common.ValidateException(txtProgramFilePath, "فایل انتخاب شده وجود ندارد");
                }
            }
            else if (selectedScheduleType.TypeOfSchedule == ScheduleType.ScheduleTypes.ShowMessage)
            {
                if (txtMessageBody.Text.Trim() == "" && txtMessageTitle.Text.Trim() == "")
                {
                    throw new Njit.Common.ValidateException(txtMessageTitle, "عنوان یا متنی برای پیام وارد نشده است");
                }
            }
            ScheduleRepeat selectedScheduleRepeat = (ScheduleRepeat)comboBoxRepeat.SelectedItem;

            if (selectedScheduleRepeat.TypeOfRepeat == ScheduleRepeat.ScheduleRepeats.NoRepeat)
            {
                if (txtStartDateNoRepeat.DateIsFree)
                {
                    throw new Njit.Common.ValidateException(txtStartDateNoRepeat, "تاریخ انجام وارد نشده است");
                }
                if (!txtStartDateNoRepeat.DateIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtStartDateNoRepeat, "تاریخ انجام به صورت درست وارد نشده است");
                }
                if (txtStartTimeNoRepeat.TimeIsFree)
                {
                    throw new Njit.Common.ValidateException(txtStartTimeNoRepeat, "ساعت انجام وارد نشده است");
                }
                if (!txtStartTimeNoRepeat.TimeIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtStartTimeNoRepeat, "ساعت انجام به صورت درست وارد نشده است");
                }
            }
            else if (selectedScheduleRepeat.TypeOfRepeat == ScheduleRepeat.ScheduleRepeats.Daily)
            {
                if (txtStartDateDaily.DateIsFree)
                {
                    throw new Njit.Common.ValidateException(txtStartDateDaily, "تاریخ شروع وارد نشده است");
                }
                if (!txtStartDateDaily.DateIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtStartDateDaily, "تاریخ شروع به صورت درست وارد نشده است");
                }

                if (txtEndDateDaily.DateIsFree)
                {
                    throw new Njit.Common.ValidateException(txtEndDateDaily, "تاریخ پایان وارد نشده است");
                }
                if (!txtEndDateDaily.DateIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtEndDateDaily, "تاریخ پایان به صورت درست وارد نشده است");
                }

                if (txtTimeDaily.TimeIsFree)
                {
                    throw new Njit.Common.ValidateException(txtTimeDaily, "مشخص نشده است هر روز چه ساعتی برنامه زمانی اجرا شود");
                }
                if (!txtTimeDaily.TimeIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtTimeDaily, "ساعت اجرای برنامه زمانی به صورت درست وارد نشده است");
                }
            }
            else if (selectedScheduleRepeat.TypeOfRepeat == ScheduleRepeat.ScheduleRepeats.Weekly)
            {
                if (txtStartDateWeekly.DateIsFree)
                {
                    throw new Njit.Common.ValidateException(txtStartDateWeekly, "تاریخ شروع وارد نشده است");
                }
                if (!txtStartDateWeekly.DateIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtStartDateWeekly, "تاریخ شروع به صورت درست وارد نشده است");
                }
                if (txtStartTimeWeekly.TimeIsFree)
                {
                    throw new Njit.Common.ValidateException(txtStartTimeWeekly, "ساعت شروع وارد نشده است");
                }
                if (!txtStartTimeWeekly.TimeIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtStartTimeWeekly, "ساعت شروع به صورت درست وارد نشده است");
                }

                if (txtEndDateWeekly.DateIsFree)
                {
                    throw new Njit.Common.ValidateException(txtEndDateWeekly, "تاریخ پایان وارد نشده است");
                }
                if (!txtEndDateWeekly.DateIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtEndDateWeekly, "تاریخ پایان به صورت درست وارد نشده است");
                }
                if (txtEndTimeWeekly.TimeIsFree)
                {
                    throw new Njit.Common.ValidateException(txtEndTimeWeekly, "ساعت پایان وارد نشده است");
                }
                if (!txtEndTimeWeekly.TimeIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtEndTimeWeekly, "ساعت پایان به صورت درست وارد نشده است");
                }

                if (weekdaysSelect.SelectedWeeks.Count() == 0)
                {
                    throw new Njit.Common.ValidateException(weekdaysSelect, "هیچ روزی انتخاب نشده است");
                }

                if (txtTimeWeekly.TimeIsFree)
                {
                    throw new Njit.Common.ValidateException(txtTimeWeekly, "مشخص نشده است چه ساعتی برنامه زمانی اجرا شود");
                }
                if (!txtTimeWeekly.TimeIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtTimeWeekly, "ساعت اجرای برنامه زمانی به صورت درست وارد نشده است");
                }
            }
            else if (selectedScheduleRepeat.TypeOfRepeat == ScheduleRepeat.ScheduleRepeats.Monthly)
            {
                if (txtStartDateMonthly.DateIsFree)
                {
                    throw new Njit.Common.ValidateException(txtStartDateMonthly, "تاریخ شروع وارد نشده است");
                }
                if (!txtStartDateMonthly.DateIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtStartDateMonthly, "تاریخ شروع به صورت درست وارد نشده است");
                }
                if (txtStartTimeMonthly.TimeIsFree)
                {
                    throw new Njit.Common.ValidateException(txtStartTimeMonthly, "ساعت شروع وارد نشده است");
                }
                if (!txtStartTimeMonthly.TimeIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtStartTimeMonthly, "ساعت شروع به صورت درست وارد نشده است");
                }

                if (txtEndDateMonthly.DateIsFree)
                {
                    throw new Njit.Common.ValidateException(txtEndDateMonthly, "تاریخ پایان وارد نشده است");
                }
                if (!txtEndDateMonthly.DateIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtEndDateMonthly, "تاریخ پایان به صورت درست وارد نشده است");
                }
                if (txtEndTimeMonthly.TimeIsFree)
                {
                    throw new Njit.Common.ValidateException(txtEndTimeMonthly, "ساعت پایان وارد نشده است");
                }
                if (!txtEndTimeMonthly.TimeIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtEndTimeMonthly, "ساعت پایان به صورت درست وارد نشده است");
                }

                if (monthsSelect.SelectedMonths.Count() == 0)
                {
                    throw new Njit.Common.ValidateException(monthsSelect, "هیچ ماهی انتخاب نشده است");
                }

                if (txtMonthDay.Text == "")
                {
                    throw new Njit.Common.ValidateException(txtMonthDay, "روز ماه مشخص نشده است");
                }

                if (txtMonthDay.Text.TryToInt().HasValue == false)
                {
                    throw new Njit.Common.ValidateException(txtMonthDay, "روز ماه به درستی مشخص نشده است");
                }

                if (txtTimeMonthly.TimeIsFree)
                {
                    throw new Njit.Common.ValidateException(txtTimeMonthly, "مشخص نشده است چه ساعتی برنامه زمانی اجرا شود");
                }
                if (!txtTimeMonthly.TimeIsCorrect)
                {
                    throw new Njit.Common.ValidateException(txtTimeMonthly, "ساعت اجرای برنامه زمانی به صورت درست وارد نشده است");
                }
            }
        }
Example #6
0
        public AddEditSchedule(Njit.TaskScheduler.ScheduleType.ScheduleTypes allowedScheduleTypes, Schedule schedule)
            : this(allowedScheduleTypes)
        {
            txtName.Text        = schedule.Name;
            txtDescription.Text = schedule.Description;
            comboBoxScheduleType.SelectedItem = comboBoxScheduleType.Items.Cast <ScheduleType>().Where(t => t.Title == schedule.ScheduleType.Title).Single();
            comboBoxRepeat.SelectedItem       = comboBoxRepeat.Items.Cast <ScheduleRepeat>().Where(t => t.Title == schedule.RepeatType.Title).Single();

            ScheduleRepeat selectedScheduleRepeat = (ScheduleRepeat)comboBoxRepeat.SelectedItem;
            if (selectedScheduleRepeat.TypeOfRepeat == ScheduleRepeat.ScheduleRepeats.NoRepeat)
            {
                ScheduleRepeatTypes.NoRepeat st = (schedule.RepeatType as ScheduleRepeatTypes.NoRepeat);
                txtStartDateNoRepeat.Text = st.StartDate;
                txtStartTimeNoRepeat.Text = st.StartTime;
            }
            else if (selectedScheduleRepeat.TypeOfRepeat == ScheduleRepeat.ScheduleRepeats.Daily)
            {
                ScheduleRepeatTypes.Daily st = (schedule.RepeatType as ScheduleRepeatTypes.Daily);
                txtStartDateDaily.Text = st.StartDate;
                txtEndDateDaily.Text   = st.EndDate;
                txtTimeDaily.Text      = st.ExecuteTime;
            }
            else if (selectedScheduleRepeat.TypeOfRepeat == ScheduleRepeat.ScheduleRepeats.Weekly)
            {
                ScheduleRepeatTypes.Weekly st = (schedule.RepeatType as ScheduleRepeatTypes.Weekly);
                txtStartDateWeekly.Text      = st.StartDate;
                txtStartTimeWeekly.Text      = st.StartTime;
                txtEndDateWeekly.Text        = st.EndDate;
                txtEndTimeWeekly.Text        = st.EndTime;
                txtTimeWeekly.Text           = st.ExecuteTime;
                weekdaysSelect.SelectedWeeks = st.WeekDays;
            }
            else if (selectedScheduleRepeat.TypeOfRepeat == ScheduleRepeat.ScheduleRepeats.Monthly)
            {
                ScheduleRepeatTypes.Monthly st = (schedule.RepeatType as ScheduleRepeatTypes.Monthly);
                txtStartDateMonthly.Text    = st.StartDate;
                txtStartTimeMonthly.Text    = st.StartTime;
                txtEndDateMonthly.Text      = st.EndDate;
                txtEndTimeMonthly.Text      = st.EndTime;
                txtTimeMonthly.Text         = st.ExecuteTime;
                txtMonthDay.Text            = st.MonthDay.ToString();
                monthsSelect.SelectedMonths = st.Months;
            }

            ScheduleType selectedScheduleType = (ScheduleType)comboBoxScheduleType.SelectedItem;
            if (selectedScheduleType.TypeOfSchedule == ScheduleType.ScheduleTypes.BackupDatabase)
            {
                ScheduleTypes.BackupDatabase st = (schedule.ScheduleType as ScheduleTypes.BackupDatabase);
                //SetDatabaseName(new SqlConnectionStringBuilder(ScheduleTypes.BackupDatabase.ConnectionString));
                txtBackupPath.Text = st.SaveTo;
                txtBackupName.Text = st.FileName;
                comboBoxSetBackupNameType.SelectedIndex = (int)st.SetNameType;
            }
            else if (selectedScheduleType.TypeOfSchedule == ScheduleType.ScheduleTypes.ExecuteProgram)
            {
                ScheduleTypes.ExecuteProgram st = (schedule.ScheduleType as ScheduleTypes.ExecuteProgram);
                txtProgramFilePath.Text  = st.FilePath;
                txtProgramParameter.Text = st.Parameter;
            }
            else if (selectedScheduleType.TypeOfSchedule == ScheduleType.ScheduleTypes.ShowMessage)
            {
                ScheduleTypes.ShowMessage st = (schedule.ScheduleType as ScheduleTypes.ShowMessage);
                txtMessageTitle.Text = st.MessageTitle;
                txtMessageBody.Text  = st.MessageBody;
            }
        }