/// <summary> /// Erzeugt eine neue Verwaltung. /// </summary> /// <param name="definition">Die Definition der Aufzeichnung.</param> /// <param name="exceptions">Alle Ausnahmen zur Aufzeichnung.</param> /// <exception cref="ArgumentNullException">Es wurde keine Aufzeichnung angegeben.</exception> public _Schedule( IScheduleDefinition definition, IEnumerable<PlanException> exceptions = null ) { // Validate if (definition == null) throw new ArgumentNullException( "plan" ); // Remember Definition = definition; // Default if (exceptions == null) exceptions = Enumerable.Empty<PlanException>(); // Validate exceptions foreach (var exception in exceptions) if (exception.ExceptionDate.TimeOfDay != TimeSpan.Zero) throw new ArgumentException( string.Format( Properties.SchedulerResources.Exception_NotAPureDate, exception.ExceptionDate ), "exceptions" ); // Cross validate foreach (var exception in exceptions.GroupBy( e => e.ExceptionDate )) if (exception.Count() > 1) throw new ArgumentException( string.Format( Properties.SchedulerResources.Exception_DuplicateDate, exception.Key ), "exceptions" ); // Order plan m_Exceptions = exceptions.ToDictionary( e => e.ExceptionDate ); }
/// <summary> /// Erzeugt eine neue Beschreibung. /// </summary> /// <param name="definition">Die ursprüngliche Beschreibung der Aufzeichnung.</param> /// <param name="resource">Das zu verwendende Gerät.</param> /// <param name="time">Die tatsächliche Ausführungszeit.</param> /// <param name="late">Gesetzt, wenn die Ausführung verspätet beginnt.</param> internal ScheduleInfo(IScheduleDefinition definition, IScheduleResource resource, PlannedTime time, bool late) { // Remember Definition = definition; Resource = resource; StartsLate = late; Time = time; }
/// <summary> /// Erzeugt eine neue Beschreibung. /// </summary> /// <param name="definition">Die ursprüngliche Beschreibung der Aufzeichnung.</param> /// <param name="resource">Das zu verwendende Gerät.</param> /// <param name="time">Die tatsächliche Ausführungszeit.</param> /// <param name="late">Gesetzt, wenn die Ausführung verspätet beginnt.</param> internal ScheduleInfo( IScheduleDefinition definition, IScheduleResource resource, PlannedTime time, bool late ) { // Remember Definition = definition; Resource = resource; StartsLate = late; Time = time; }
/// <summary> /// Erzeugt eine neue Verwaltung. /// </summary> /// <param name="definition">Die zugehörige Beschreibung der Aufgabenzeiten.</param> /// <param name="minTime">Der Zeitpunkt, an dem die Aufgabe das nächste Mal ausgeführt werden soll.</param> public _Task(IScheduleDefinition definition, DateTime minTime) : base(definition) { // Start at once Reset(minTime); // Move to the first MoveNext(); }
/// <summary> /// Erzeugt eine neue Verwaltung. /// </summary> /// <param name="definition">Die zugehörige Beschreibung der Aufgabenzeiten.</param> /// <param name="minTime">Der Zeitpunkt, an dem die Aufgabe das nächste Mal ausgeführt werden soll.</param> public _Task( IScheduleDefinition definition, DateTime minTime ) : base( definition ) { // Start at once Reset( minTime ); // Move to the first MoveNext(); }
/// <summary> /// Erzeugt eine neue Verwaltung. /// </summary> /// <param name="definition">Die Definition der Aufzeichnung.</param> /// <param name="exceptions">Alle Ausnahmen zur Aufzeichnung.</param> /// <exception cref="ArgumentNullException">Es wurde keine Aufzeichnung angegeben.</exception> public _Schedule(IScheduleDefinition definition, IEnumerable <PlanException> exceptions = null) { // Validate if (definition == null) { throw new ArgumentNullException("plan"); } // Remember Definition = definition; // Default if (exceptions == null) { exceptions = Enumerable.Empty <PlanException>(); } // Validate exceptions foreach (var exception in exceptions) { if (exception.ExceptionDate.TimeOfDay != TimeSpan.Zero) { throw new ArgumentException(string.Format(Properties.SchedulerResources.Exception_NotAPureDate, exception.ExceptionDate), "exceptions"); } } // Cross validate foreach (var exception in exceptions.GroupBy(e => e.ExceptionDate)) { if (exception.Count() > 1) { throw new ArgumentException(string.Format(Properties.SchedulerResources.Exception_DuplicateDate, exception.Key), "exceptions"); } } // Order plan m_Exceptions = exceptions.ToDictionary(e => e.ExceptionDate); }
/// <summary> /// Meldet, dass eine Aufzeichnung nicht ausgeführt werden kann. /// </summary> /// <param name="item">Die nicht ausgeführte Aufzeichnung.</param> void IRecordingPlannerSite.Discard(IScheduleDefinition item) { // Report VCRServer.Log(LoggingLevel.Schedules, "Could not record '{0}'", item.Name); }
/// <summary> /// Meldet, dass eine Aufzeichnung nicht ausgeführt wird. /// </summary> /// <param name="item">Die verborgene Aufzeichnung.</param> public void Discard(IScheduleDefinition item) { // Report Debug.WriteLine(string.Format("{0} discardced {1}", m_planTime.ToLocalTime(), item.Name)); }
/// <summary> /// Erzeugt eine neue Testumgebung. /// </summary> public TaskSpecs() { // Finish Task = new _TaskMock( TaskDevice ); }
/// <summary> /// Meldet, dass eine Aufzeichnung nicht ausgeführt wird. /// </summary> /// <param name="item">Die verborgene Aufzeichnung.</param> public void Discard( IScheduleDefinition item ) { // Report Debug.WriteLine( string.Format( "{0} discardced {1}", m_planTime.ToLocalTime(), item.Name ) ); }
/// <summary> /// Erzeugt eine neue Testumgebung. /// </summary> public TaskSpecs() { // Finish Task = new _TaskMock(TaskDevice); }