public bool CheckWithinHourSpan(HourSpan pSpan, int pHour, int pMinutes = 0) { int totalMinutes; int minMinutes; int maxMinutes; totalMinutes = pHour * 60 + pMinutes; if (pSpan.StartHour <= pSpan.EndHour) { minMinutes = pSpan.StartHour * 60 + pSpan.StartMinute; maxMinutes = pSpan.EndHour * 60 + pSpan.EndMinute; if (totalMinutes >= minMinutes && totalMinutes < maxMinutes) { return(true); } } else { minMinutes = pSpan.StartHour * 60 + pSpan.StartMinute; maxMinutes = (23 * 60) + 59; if (totalMinutes >= minMinutes && totalMinutes < maxMinutes) { return(true); } minMinutes = 0; maxMinutes = pSpan.EndHour * 60 + pSpan.EndMinute; if (totalMinutes >= minMinutes && totalMinutes < maxMinutes) { return(true); } } return(false); }
bool CheckTimeSpanFilter(Conversation pConversation) { string timeSpanString = pConversation.LookupValue("TimeSpans"); if (timeSpanString != string.Empty) { List <string> timeSpans = timeSpanString.Split('/').ToList <string>(); foreach (string span in timeSpans) { List <string> spantimes = span.Split(',').ToList <string>(); if (spantimes.Count < 2) { Debug.Log("Span format error"); continue; } int startHour = int.Parse(spantimes[0]); int endHour = int.Parse(spantimes[1]); HourSpan hourSpan = new HourSpan(); hourSpan.StartHour = startHour; hourSpan.StartMinute = 0; hourSpan.EndHour = endHour; hourSpan.EndMinute = 0; if (TimeManager.Instance.CheckWithinHourSpan(hourSpan, TimeManager.Instance.CurrentHour) == false) { return(false); } } } return(true); }