public async Task FetchData() { IsBusy = true; var items = new List <LogListItemViewModel>(); var dtos = await _logService.GetItems(); foreach (var i in dtos.Where(x => x.JaktId == ID).ToList()) { var vm = _logListItemViewModelFactory(); vm.BeforeNavigate(i); await vm.OnAppearing(); items.Add(vm); } items = items.OrderByDescending(o => o.Date).ToList(); var groups = items.GroupBy(g => g.Date.ToShortDateString()).OrderByDescending(o => o.Key); var groupItems = new ObservableCollection <LogGroup>(); foreach (var g in groups) { var jg = new LogGroup(g.Key, ""); foreach (var item in g.OrderByDescending(o => o.Date)) { jg.Add(items.Single(h => h.ID == item.ID)); } groupItems.Add(jg); } LogListItemViewModels = groupItems; //items.ForEach(i => Items.Add(i)); var hunters = await _huntFactory.CreateHunterPickerItems(_dto.JegerIds); var dogs = await _huntFactory.CreateDogPickerItems(_dto.DogIds); SelectedHuntersAndDogs = hunters.Where(h => h.Selected).ToList(); SelectedHuntersAndDogs.AddRange(dogs.Where(h => h.Selected).ToList()); IsBusy = false; }
public StatsFilterViewModel(INavigator navigator, IHuntFactory huntFactory) { _huntFactory = huntFactory; _navigator = navigator; DateRangeCommand = new Command((obj) => { SetDate(obj); FilterChangedAction?.Invoke(); }); FilterCommand = new Command(() => { Visible = !Visible; }); FilterHunterCommand = new Command(async() => { var selected = new List <string>(); if (SelectedHunter != null) { selected.Add(SelectedHunter.ID); } var hunterItems = await _huntFactory.CreateHunterPickerItems(selected); await _navigator.PushAsync <InputPickerViewModel>( afterNavigate: async(arg) => await arg.InitializeAsync( value: hunterItems, completeAction: (obj) => { SelectedHunter = obj?.FirstOrDefault(x => x.Selected); FilterChangedAction?.Invoke(); } ) ); }); SetDate("Alle"); }
private async Task PopulatePickers() { var jegerIds = new List <string> { _dto.JegerId }; var dogIds = new List <string> { _dto.DogId }; HuntersPickers = await _huntFactory.CreateHunterPickerItems(jegerIds, _dto.JaktId); DogsPickers = await _huntFactory.CreateDogPickerItems(dogIds, _dto.JaktId); SpeciesPickers = await _huntFactory.CreateSpeciePickerItems(_dto.ArtId); HitsPickers = new List <PickerItem>(); ShotsPickers = new List <PickerItem>(); ObservedPickers = new List <PickerItem>(); int max = 100; for (var i = 1; i <= max; i++) { HitsPickers.Add(new PickerItem { ID = i.ToString(), Title = i.ToString(), Selected = i == _dto.Treff }); ObservedPickers.Add(new PickerItem { ID = i.ToString(), Title = i.ToString(), Selected = i == _dto.Sett }); ShotsPickers.Add(new PickerItem { ID = i.ToString(), Title = i.ToString(), Selected = i == _dto.Skudd }); } ////Add custom value pickers too //HitsPickers.Add(new PickerItem //{ // ID = _dto.Treff.ToString(), // Title = _dto.Treff.ToString(), // Selected = _dto.Treff > max, // Custom = true //}); //ObservedPickers.Add(new PickerItem //{ // ID = _dto.Sett.ToString(), // Title = _dto.Sett.ToString(), // Selected = _dto.Sett > max, // Custom = true //}); //ShotsPickers.Add(new PickerItem //{ // ID = _dto.Skudd.ToString(), // Title = _dto.Skudd.ToString(), // Selected = _dto.Skudd > max, // Custom = true //}); //Add hunter and dog if (!string.IsNullOrEmpty(_dto.JegerId)) { HunterAndDog.Add(HuntersPickers.SingleOrDefault(h => h.Selected)); } if (!string.IsNullOrEmpty(_dto.DogId)) { HunterAndDog.Add(DogsPickers.SingleOrDefault(h => h.Selected)); } }
private async Task GetHunters() { Hunters = await _huntFactory.CreateHunterPickerItems(_dto.JegerIds); }