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); }
/// <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); } }