コード例 #1
0
        private List <Models.TruckEvent> getCurrentEvents(ref string setDay, ref string setMeal)
        {
            // Obtain datetime per Boston timezone
            TimeZoneInfo BostonTime = System.TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
            DateTime     now        = System.TimeZoneInfo.ConvertTime(DateTime.Now, System.TimeZoneInfo.Local, BostonTime);

            // Determine today's day of week
            string today = now.DayOfWeek.ToString();

            // Determine current upcoming meal
            string meal =
                now.Hour < 10 ? "Breakfast" :
                now.Hour < 15 ? "Lunch" :
                now.Hour < 22 ? "Dinner" : "Late Night"; //Aligned according to city of boston site

            // Hardcode any date/meal values here for testing/debugging
            //today = "Wednesday";
            //meal = "Lunch";

            // For Unit Testing
            if (setDay != "")
            {
                today = setDay;
            }
            if (setMeal != "")
            {
                meal = setMeal;
            }

            // Obtain ALL truck events by scraping cityofboston.gov
            List <Models.TruckEvent> allEvents = _truckEventsSource.GetAllTruckData();

            // Obtain CURRENT truck events by filtering to current day/time
            List <Models.TruckEvent> selectedEvents = (from te in allEvents
                                                       where te.Day == today && te.Time == meal
                                                       select te).ToList();

            setDay  = today;
            setMeal = meal;
            return(selectedEvents);
        }