示例#1
0
 public static Njit.TaskScheduler.Schedule GetSchedule(NjitSoftware.Model.Common.TaskSchedule taskSchedule)
 {
     Njit.TaskScheduler.Schedule schedule = new Njit.TaskScheduler.Schedule();
     schedule.ID           = taskSchedule.TaskCode;
     schedule.Name         = taskSchedule.Name;
     schedule.Description  = taskSchedule.Description;
     schedule.ScheduleType = GetScheduleType(taskSchedule);
     schedule.RepeatType   = GetScheduleRepeat(taskSchedule);
     return(schedule);
 }
示例#2
0
        public static void UpdateTaskSchedules(List <Njit.TaskScheduler.Schedule> scheduleList)
        {
            NjitSoftware.Model.Common.ArchiveCommonDataClassesDataContext dc = new NjitSoftware.Model.Common.ArchiveCommonDataClassesDataContext(Setting.Sql.ThisProgram.DatabaseConnection.ConnectionString);
            foreach (var item in dc.TaskSchedules)
            {
                item.Flag = true;
            }
            dc.SubmitChanges();
            foreach (var item in scheduleList)
            {
                Njit.TaskScheduler.ScheduleTypes.BackupDatabase backupDatabaseT = (item.ScheduleType as Njit.TaskScheduler.ScheduleTypes.BackupDatabase);
                Njit.TaskScheduler.ScheduleTypes.ExecuteProgram executeProgramT = (item.ScheduleType as Njit.TaskScheduler.ScheduleTypes.ExecuteProgram);
                Njit.TaskScheduler.ScheduleTypes.ShowMessage    showMessageT = (item.ScheduleType as Njit.TaskScheduler.ScheduleTypes.ShowMessage);
                string weekdays = null, months = null;
                int?   monthDay = null;
                Njit.TaskScheduler.ScheduleRepeatTypes.NoRepeat noRepeatR = (item.RepeatType as Njit.TaskScheduler.ScheduleRepeatTypes.NoRepeat);
                Njit.TaskScheduler.ScheduleRepeatTypes.Daily    dailyR    = (item.RepeatType as Njit.TaskScheduler.ScheduleRepeatTypes.Daily);
                Njit.TaskScheduler.ScheduleRepeatTypes.Weekly   weeklyR   = (item.RepeatType as Njit.TaskScheduler.ScheduleRepeatTypes.Weekly);
                Njit.TaskScheduler.ScheduleRepeatTypes.Monthly  monthlyR  = (item.RepeatType as Njit.TaskScheduler.ScheduleRepeatTypes.Monthly);
                switch (item.RepeatType.TypeOfRepeat)
                {
                case Njit.TaskScheduler.ScheduleRepeat.ScheduleRepeats.Weekly:
                    weekdays = Aggregate(weeklyR.WeekDays);
                    break;

                case Njit.TaskScheduler.ScheduleRepeat.ScheduleRepeats.Monthly:
                    months   = Aggregate(monthlyR.Months);
                    monthDay = monthlyR.MonthDay;
                    break;
                }
                NjitSoftware.Model.Common.TaskSchedule task = NjitSoftware.Model.Common.TaskSchedule.GetNewInstance(item.ID, item.Name, item.Description, Setting.Archive.ThisProgram.SelectedArchiveTree == null?null:Setting.Archive.ThisProgram.SelectedArchiveTree.Archive.Name, (int)item.RepeatType.TypeOfRepeat, (int)item.ScheduleType.TypeOfSchedule, backupDatabaseT == null ? null : backupDatabaseT.SaveTo, backupDatabaseT == null ? null : backupDatabaseT.FileName, backupDatabaseT == null ? null : (int?)backupDatabaseT.SetNameType, executeProgramT == null ? null : executeProgramT.FilePath, executeProgramT == null ? null : executeProgramT.Parameter, showMessageT == null ? null : showMessageT.MessageTitle, showMessageT == null ? null : showMessageT.MessageBody, item.RepeatType.StartDate, item.RepeatType.StartTime, item.RepeatType.EndDate, item.RepeatType.EndTime, item.RepeatType.ExecuteTime, weekdays, months, monthDay, false);
                var query = dc.TaskSchedules.Where(t => t.TaskCode == item.ID);
                if (query.Count() == 0)
                {
                    dc.TaskSchedules.InsertOnSubmit(task);
                    dc.SubmitChanges();
                }
                else
                {
                    NjitSoftware.Model.Common.TaskSchedule originalTask = query.Single();
                    NjitSoftware.Model.Common.TaskSchedule.Copy(originalTask, task);
                    dc.SubmitChanges();
                }
            }
            dc.TaskSchedules.DeleteAllOnSubmit(dc.TaskSchedules.Where(t => t.Flag == true));
            dc.SubmitChanges();
        }
示例#3
0
        public static Njit.TaskScheduler.ScheduleType GetScheduleType(NjitSoftware.Model.Common.TaskSchedule taskSchedule)
        {
            switch ((Njit.TaskScheduler.ScheduleType.ScheduleTypes)taskSchedule.ScheduleTypeCode)
            {
            case Njit.TaskScheduler.ScheduleType.ScheduleTypes.BackupDatabase:
                return(new Njit.TaskScheduler.ScheduleTypes.BackupDatabase(taskSchedule.BackupPath, taskSchedule.BackupFileName, (Njit.TaskScheduler.ScheduleTypes.BackupDatabase.SetNameTypes)taskSchedule.BackupNameType));

            case Njit.TaskScheduler.ScheduleType.ScheduleTypes.ShowMessage:
                return(new Njit.TaskScheduler.ScheduleTypes.ShowMessage(taskSchedule.MessageTitle, taskSchedule.MessageBody));

            case Njit.TaskScheduler.ScheduleType.ScheduleTypes.ExecuteProgram:
                return(new Njit.TaskScheduler.ScheduleTypes.ExecuteProgram(taskSchedule.ExecuteFilePath, taskSchedule.ExecuteParameter));

            default:
                throw new Exception();
            }
        }
示例#4
0
        public static Njit.TaskScheduler.ScheduleRepeat GetScheduleRepeat(NjitSoftware.Model.Common.TaskSchedule taskSchedule)
        {
            switch ((Njit.TaskScheduler.ScheduleRepeat.ScheduleRepeats)taskSchedule.RepeatTypeCode)
            {
            case Njit.TaskScheduler.ScheduleRepeat.ScheduleRepeats.NoRepeat:
                return(new Njit.TaskScheduler.ScheduleRepeatTypes.NoRepeat(taskSchedule.StartDate, taskSchedule.StartTime));

            case Njit.TaskScheduler.ScheduleRepeat.ScheduleRepeats.Daily:
                return(new Njit.TaskScheduler.ScheduleRepeatTypes.Daily(taskSchedule.StartDate, taskSchedule.EndDate, taskSchedule.ExecuteTime));

            case Njit.TaskScheduler.ScheduleRepeat.ScheduleRepeats.Weekly:
                return(new Njit.TaskScheduler.ScheduleRepeatTypes.Weekly(taskSchedule.StartDate, taskSchedule.StartTime, taskSchedule.EndDate, taskSchedule.EndTime, taskSchedule.ExecuteTime, GetIntArrar(taskSchedule.WeekDays)));

            case Njit.TaskScheduler.ScheduleRepeat.ScheduleRepeats.Monthly:
                return(new Njit.TaskScheduler.ScheduleRepeatTypes.Monthly(taskSchedule.StartDate, taskSchedule.StartTime, taskSchedule.EndDate, taskSchedule.EndTime, taskSchedule.ExecuteTime, GetIntArrar(taskSchedule.Months), taskSchedule.MonthDay.Value));

            default:
                throw new Exception();
            }
        }