Exemplo n.º 1
0
        public int DurationInHours()
        {
            string[] hrsmins       = StartTime.Split(':');
            int      startTimehrs  = 0;
            int      startTimemins = 0;

            Int32.TryParse(hrsmins[0], out startTimehrs);
            Int32.TryParse(hrsmins[1], out startTimemins);

            string[] endTimehrsmins = EndTime.Split(':');
            int      endTimehrs     = 0;
            int      endTimemins    = 0;

            Int32.TryParse(endTimehrsmins[0], out endTimehrs);
            Int32.TryParse(endTimehrsmins[1], out endTimemins);

            DateTime start = new DateTime(2018, 1, 1, startTimehrs, startTimemins, 0);
            DateTime end   = new DateTime(2018, 1, 1, endTimehrs, endTimemins, 0);

            TimeSpan duration = end - start;

            return(duration.Hours);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Looks for overlapping times in frequencies
        /// </summary>
        public bool IsOverlapping(Frequency other)
        {
            TimeOfDay startTime = new TimeOfDay()
            {
                Hours   = int.Parse(StartTime.Split(':')[0]),
                Minutes = int.Parse(StartTime.Split(':')[1]),
                Seconds = int.Parse(StartTime.Split(':')[2])
            };
            TimeOfDay endTime = new TimeOfDay()
            {
                Hours   = int.Parse(EndTime.Split(':')[0]),
                Minutes = int.Parse(EndTime.Split(':')[1]),
                Seconds = int.Parse(EndTime.Split(':')[2])
            };
            TimeOfDay otherStartTime = new TimeOfDay()
            {
                Hours   = int.Parse(other.StartTime.Split(':')[0]),
                Minutes = int.Parse(other.StartTime.Split(':')[1]),
                Seconds = int.Parse(other.StartTime.Split(':')[2])
            };
            TimeOfDay otherEndTime = new TimeOfDay()
            {
                Hours   = int.Parse(other.EndTime.Split(':')[0]),
                Minutes = int.Parse(other.EndTime.Split(':')[1]),
                Seconds = int.Parse(other.EndTime.Split(':')[2])
            };

            if (startTime.TotalSeconds < otherStartTime.TotalSeconds)
            {
                return(endTime.TotalSeconds > otherStartTime.TotalSeconds);
            }
            else
            {
                return(otherEndTime.TotalSeconds > startTime.TotalSeconds);
            }
        }