예제 #1
0
        }     // GetScheduleData

        private void recordingSchedule_ScheduleKindChanged(object sender, RecordingSchedule.KindChangedEventArgs e)
        {
            CurrentScheduleKind = e.Kind;

            var enabled = (e.Kind != RecordScheduleKind.RightNow);

            UpdateStartMarginStatus(enabled);
            EnableExpiryDate();
            recordingTime.SetScheduleKind(e.Kind);

            ChangeOkButtonText(enabled);
        } // recordingSchedule_ScheduleKindChanged
예제 #2
0
        }     // EndDateTime

        #endregion

        #region Public methods

        public void SetDuration(DateTime startDateTime, RecordScheduleKind kind, RecordDuration duration)
        {
            if (duration.EndDateTime == null)
            {
                radioTimeSpan.Checked = true;
                RecordTimeSpan        = duration.Length;
            }
            else
            {
                IsScheduledProgram       = (kind == RecordScheduleKind.RightNow);
                radioEndDateTime.Checked = true;
                EndDateTime = duration.EndDateTime.Value;
            } // if-else

            checkBoxEndMargin.Checked = duration.SafetyMargin.HasValue;
            numericEndMargin.Value    = duration.SafetyMargin.HasValue ? duration.SafetyMargin.Value : RecordDuration.DefaultSafetyMargin;
            SetScheduleKind(kind);
        } // SetDuration
예제 #3
0
        } // timerUpdateRightNow_Tick

        private void SetPatternKind(RecordScheduleKind kind)
        {
            foreach (var patternControl in ScheduleFragments)
            {
                if (patternControl.Kind == kind)
                {
                    if (CurrentFragment != null)
                    {
                        CurrentFragment.UserControl.Visible = false;
                    }
                    patternControl.UserControl.Visible = true;
                    CurrentFragment = patternControl;
                    break;
                } // if
            }     // foreach

            ScheduleKindChanged?.Invoke(this, new KindChangedEventArgs(kind));
        } // SetPatternKind
예제 #4
0
        }  // SchedulerFolders

        public static string ToString(RecordScheduleKind scheduleKind)
        {
            switch (scheduleKind)
            {
            case RecordScheduleKind.RightNow: return(TasksTexts.TaskScheduleRightNow);

            case RecordScheduleKind.OneTime: return(TasksTexts.TaskScheduleOneTime);

            case RecordScheduleKind.Daily: return(TasksTexts.TaskScheduleDaily);

            case RecordScheduleKind.Weekly: return(TasksTexts.TaskScheduleWeekly);

            case RecordScheduleKind.Monthly: return(TasksTexts.TaskScheduleMontly);

            case RecordScheduleKind.MontlyDoW: return(TasksTexts.TaskScheduleMonthlyDoW);

            default:
                return(string.Format(TasksTexts.TaskScheduleUnknown, (int)scheduleKind));
            } // switch
        }     // ToString
예제 #5
0
        public static RecordSchedule CreateWithDefaultValues(RecordScheduleKind kind)
        {
            RecordSchedule schedule;

            switch (kind)
            {
            case RecordScheduleKind.RightNow: schedule = new RecordRightNow(); break;

            case RecordScheduleKind.OneTime: schedule = new RecordOneTime(); break;

            case RecordScheduleKind.Daily: schedule = new RecordDaily(); break;

            case RecordScheduleKind.Weekly: schedule = new RecordWeekly(); break;

            case RecordScheduleKind.Monthly: schedule = new RecordMonthly(); break;

            default:
                throw new IndexOutOfRangeException();
            } // switch
            schedule.SetDefaultValues();

            return(schedule);
        } // CreateWithDefaultValues
예제 #6
0
        } // UpdateStartTime

        public void SetScheduleKind(RecordScheduleKind kind)
        {
            ScheduleKind = kind;
            OnScheduleKindChanged();
        } // SetScheduleKind
예제 #7
0
 public KindChangedEventArgs(RecordScheduleKind kind)
 {
     Kind = kind;
 } // constructor