Exemple #1
0
        public async Task <ScaniaRestaurant> GetByRestaurantId(int restaurantId, DateTime?date = null)
        {
            var restaurant = _restaurants.GetById(restaurantId);
            var menu       = await restaurant.GetMenu();

            var result = ScaniaRestaurantConverter.ConvertFrom(restaurant, menu);

            if (date.HasValue)
            {
                CultureInfo cul     = CultureInfo.CurrentCulture;
                int         weekNum = cul.Calendar.GetWeekOfYear(
                    date.Value,
                    CalendarWeekRule.FirstFullWeek,
                    DayOfWeek.Monday);

                var week = result.Weeks.FirstOrDefault(m => m.WeekNumber == weekNum);

                if (week != null)
                {
                    var dayMenu = week.Menus.FirstOrDefault(m => m.Date == date);
                    if (dayMenu != null)
                    {
                        week.Menus = new List <ScaniaDay>()
                        {
                            dayMenu
                        };
                        result.Weeks = new List <ScaniaWeek>()
                        {
                            week
                        };
                    }
                    else
                    {
                        result.Weeks = null;
                    }
                }
                else
                {
                    result.Weeks = null;
                }
            }

            return(result);
        }
Exemple #2
0
 public Restaurant GetById(int id)
 {
     return(_restaurants.GetById(id));
 }