Exemplo n.º 1
0
        } // constructor

        public void SetSchedule(RecordSchedule schedule, bool isNew)
        {
            if ((schedule.Kind == RecordScheduleKind.RightNow) && (!isNew))
            {
                throw new InvalidOperationException("A 'RightNow' recording task can not be edited!");
            } // if

            OriginalDateTime = schedule.StartDate;

            foreach (var fragment in ScheduleFragments)
            {
                if (schedule.Kind == fragment.Kind)
                {
                    fragment.SetSchedule(schedule);
                }
                else
                {
                    fragment.SetSchedule(RecordSchedule.CreateWithDefaultValues(fragment.Kind));
                }
            } // foreach

            foreach (var radio in RadioButtons)
            {
                var kind = (RecordScheduleKind)radio.Tag;
                radio.Checked = (schedule.Kind == kind);
                // if we're editing an existing record task, we can't set its type as 'Right now'
                radio.Enabled = isNew ? true : (kind != RecordScheduleKind.RightNow);
            } // foreach

            SetPatternKind(schedule.Kind);
        } // SetSchedule
Exemplo n.º 2
0
        } // UpdateStartDate

        public void SetSchedule(RecordSchedule schedule)
        {
            Schedule = (RecordWeekly)schedule;

            numericRecurEvery.Value = Schedule.RecurEveryWeeks;
            for (int index = 0; index < ListIndexDay.Length; index++)
            {
                checkedListDays.SetItemChecked(index, (Schedule.WeekDays & ListIndexDay[index]) != 0);
            } // for index
        }     // SetSchedule
Exemplo n.º 3
0
        } // GetRecordProgram

        public static RecordSchedule GetRecordSchedule(EpgProgram epgProgram, bool isCurrent)
        {
            RecordSchedule schedule;

            if (epgProgram == null)
            {
                throw new ArgumentNullException(nameof(epgProgram));
            }

            if (isCurrent)
            {
                schedule = RecordSchedule.CreateWithDefaultValues(RecordScheduleKind.RightNow);
            }
            else
            {
                schedule            = RecordSchedule.CreateWithDefaultValues(RecordScheduleKind.OneTime);
                schedule.ExpiryDate = epgProgram.LocalEndTime + epgProgram.Duration + RecordChannelDialog.DefaultExpiryDateTimeSpan;
            } // if-else
            schedule.StartDate = epgProgram.LocalStartTime;

            return(schedule);
        } // GetRecordSchedule
Exemplo n.º 4
0
        } // UpdateStartDate

        public void SetSchedule(RecordSchedule schedule)
        {
            Schedule = (RecordRightNow)schedule;
        } // SetSchedule
Exemplo n.º 5
0
        } // UpdateStartDate

        public void SetSchedule(RecordSchedule schedule)
        {
            Schedule = (RecordMonthly)schedule;
        } // SetSchedule
Exemplo n.º 6
0
        } // UpdateStartDate

        public void SetSchedule(RecordSchedule schedule)
        {
            Schedule = (RecordDaily)schedule;

            numericRecurEvery.Value = Schedule.RecurEveryDays;
        } // SetSchedule
Exemplo n.º 7
0
        } // GetDuration

        private void SetSchedule(TaskDefinition definition, RecordSchedule recordSchedule)
        {
            switch (recordSchedule.Kind)
            {
            case RecordScheduleKind.RightNow:
            {
                var rightNow = new TimeTrigger
                {
                    EndBoundary = DateTime.Now.TruncateToSeconds() + _totalRecordTime + new TimeSpan(0, 1, 0)
                };

                definition.Triggers.Add(rightNow);
                break;
            }         // case RecordScheduleKind.RightNow

            case RecordScheduleKind.OneTime:
            {
                var oneTime  = new TimeTrigger();
                var schedule = (RecordOneTime)recordSchedule;
                oneTime.StartBoundary = schedule.StartDate - _startSafetyMargin;
                oneTime.EndBoundary   = schedule.StartDate + _totalRecordTime;

                definition.Triggers.Add(oneTime);
                break;
            }         // case RecordScheduleKind.OneTime

            case RecordScheduleKind.Daily:
            {
                var daily    = new DailyTrigger();
                var schedule = (RecordDaily)recordSchedule;
                daily.StartBoundary = schedule.StartDate - _startSafetyMargin;
                if (schedule.ExpiryDate.HasValue)
                {
                    daily.EndBoundary = schedule.ExpiryDate.Value;
                }         // if
                daily.DaysInterval = schedule.RecurEveryDays;

                definition.Triggers.Add(daily);
                break;
            }         // case RecordScheduleKind.Daily

            case RecordScheduleKind.Weekly:
            {
                var weekly   = new WeeklyTrigger();
                var schedule = (RecordWeekly)recordSchedule;
                weekly.StartBoundary = schedule.StartDate - _startSafetyMargin;
                if (schedule.ExpiryDate.HasValue)
                {
                    weekly.EndBoundary = schedule.ExpiryDate.Value;
                }         // if
                weekly.WeeksInterval = schedule.RecurEveryWeeks;
                weekly.DaysOfWeek    = GetDaysOfTheWeek(schedule.WeekDays);

                definition.Triggers.Add(weekly);
                break;
            }         // case RecordScheduleKind.Weekly

            case RecordScheduleKind.Monthly:
            {
                var monthly  = new MonthlyTrigger();
                var schedule = (RecordMonthly)recordSchedule;
                monthly.StartBoundary = schedule.StartDate - _startSafetyMargin;
                if (schedule.ExpiryDate.HasValue)
                {
                    monthly.EndBoundary = schedule.ExpiryDate.Value;
                }         // if

                throw new NotImplementedException();
            }         // case RecordScheduleKind.Monthly

            default:
                throw new IndexOutOfRangeException();
            } // switch
        }     // SetSchedule
Exemplo n.º 8
0
        } // UpdateStartDate

        public void SetSchedule(RecordSchedule schedule)
        {
            Schedule = (RecordOneTime)schedule;
        } // SetSchedule