Пример #1
0
    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);
    }
Пример #2
0
        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);
        }