Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }