Exemple #1
0
        public void DurationCalculator()
        {
            DurationCalculator durationCalculator = new DurationCalculator();

            // working time
            durationCalculator.DayHours(
                new DayHourRange(DayOfWeek.Monday, new Time(07), new Time(12)),
                new DayHourRange(DayOfWeek.Monday, new Time(13), new Time(19)),
                new DayHourRange(DayOfWeek.Tuesday, new Time(07), new Time(12)),
                new DayHourRange(DayOfWeek.Tuesday, new Time(13), new Time(19)),
                new DayHourRange(DayOfWeek.Wednesday, new Time(07), new Time(12)),
                new DayHourRange(DayOfWeek.Wednesday, new Time(13), new Time(19)),
                new DayHourRange(DayOfWeek.Thursday, new Time(07), new Time(12)),
                new DayHourRange(DayOfWeek.Thursday, new Time(13), new Time(19)),
                new DayHourRange(DayOfWeek.Friday, new Time(07), new Time(12)),
                new DayHourRange(DayOfWeek.Friday, new Time(13), new Time(18, 30)));

            // exclude periods
            durationCalculator.ExcludePeriods.Add(new Day(2011, 3, 7));

            DateTime start = new DateTime(2011, 3, 4, 16, 45, 0);
            DateTime end   = new DateTime(2011, 3, 8, 15, 30, 0);

            // result should be 9 hours 45 minutes:
            // 04/03/2011 16:45 - 18:30 -> 1 hours 45 minutes (friday)
            // 08/03/2011 07:00 - 12:00 -> 5 hours
            // 08/03/2011 13:00 - 15:30 -> 2 hours 30 minutes

            Console.WriteLine("duration between {0} and {1}: {2}", start, end, durationCalculator.CalcDuration(start, end));
            // > ...: 09:15:00
            Console.WriteLine("duration between {0} and {1}: {2}", end, start, durationCalculator.CalcDuration(end, start));
            // > ...: -09:15:00
        }         // DurationCalculator
Exemple #2
0
        /// <summary>
        /// Constructs a new DelegatedStimulus.
        /// </summary>
        /// <param name="stimulusID">Stimulus generation ID</param>
        /// <param name="units"></param>
        /// <param name="parameters">Stimulus parameters</param>
        /// <param name="blockRender">BlockRender delegate method</param>
        /// <param name="duration">Duration delegate method</param>
        public DelegatedStimulus(string stimulusID, string units, IDictionary <string, object> parameters, BlockRenderer blockRender, DurationCalculator duration)
            : base(stimulusID, units, parameters)
        {
            if (blockRender == null || duration == null)
            {
                throw new ArgumentException("Delegates may not be null");
            }

            BlockDelegate    = blockRender;
            DurationDelegate = duration;
        }
Exemple #3
0
        /// <summary>
        /// Constructs a new DelegatedStimulus.
        /// </summary>
        /// <param name="stimulusID">Stimulus generation ID</param>
        /// <param name="units">Units of the stimulus</param>
        /// <param name="sampleRate">Sample rate of the stimulus</param>
        /// <param name="parameters">Stimulus parameters</param>
        /// <param name="blockRender">BlockRender delegate method</param>
        /// <param name="duration">Duration delegate method</param>
        public DelegatedStimulus(string stimulusID, string units, IMeasurement sampleRate, IDictionary<string, object> parameters, BlockRenderer blockRender, DurationCalculator duration)
            : base(stimulusID, units, parameters)
        {
            if (blockRender == null || duration == null)
            {
                throw new ArgumentException("Delegates may not be null");
            }

            if (sampleRate == null)
                throw new ArgumentNullException("sampleRate");

            _sampleRate = sampleRate;
            BlockDelegate = blockRender;
            DurationDelegate = duration;
        }