public CurrentMenuViewModel(CurrentMenuPage page) { _page = page; _canteenService = DependencyService.Get <CanteenDemoService>(); _currentMenuDTO = (List <DayMenuDTO>)_canteenService.GetCurrentMenuAsync(); _currentMenu = new List <DayMenu>(); foreach (var item in _currentMenuDTO) { _currentMenu.Add(new DayMenu(item)); } var dishTypes = _canteenService.GetDishTypesAsync(); foreach (var item in _currentMenu) { var dayMenuId = item.Id; var dishIdList = _canteenService.GetDishIdListAsync(dayMenuId); item.Dishes = new List <Dish>(); foreach (var dishId in dishIdList) { var dishDTO = _canteenService.GetDishByIdAsync(dishId); dishDTO.Type = dishTypes[dishDTO.TypeId]; item.Dishes.Add(dishDTO); } } CurrentMenu = new ObservableCollection <DayMenu>(_currentMenu); }
public FullMenuGroupedViewModel(FullMenuGroupedPage page) { _page = page; _canteenService = DependencyService.Get <CanteenDemoService>(); Items = new ObservableCollection <Dish>(_canteenService.GetFullMenuAsync()); var dishTypes = _canteenService.GetDishTypesAsync(); foreach (var item in Items) { item.Type = dishTypes[item.TypeId]; } var sorted = from item in Items orderby item.TypeId group item by item.Type.Plurals into itemGroup select new Grouping <string, Dish>(itemGroup.Key, itemGroup); ItemsGrouped = new ObservableCollection <Grouping <string, Dish> >(sorted); }