public ChildAddViewModel(MainViewModel mainViewModel, IServiceProvider serviceProvider) { _mainViewModel = mainViewModel; _newChild = new ChildWpf("", "", GameLevel.Beginner, DayOfWeek.Sunday, DateTime.Today); _childFacade = serviceProvider.GetRequiredService <IChildFacadeAsync>(); serviceProvider.GetService <UnitOfWork>(); _fromUiChildMapper = new FromUiChildMapper(); _fromUiGroupMapper = new FromUiGroupMapper(); _toUiGroupMapper = new ToUiGroupMapper(); IMapper <Child, ChildWpf> toUiChildMapper = new ToUiChildMapper(); DaysOfWeek = new ObservableCollection <DayOfWeek>( Enum.GetValues(typeof(DayOfWeek)).OfType <DayOfWeek>()); GameLevels = new ObservableCollection <GameLevel>( Enum.GetValues(typeof(GameLevel)).OfType <GameLevel>()); GroupsToChoose = new ObservableCollection <GroupWpf>(); ChosenDays = new ObservableCollection <DayOfWeek>(); }
private async Task AddChild(ChildWpf child) { if (child == null) { return; } child.PreferableDays = ChosenDays.ToList(); List <Group> unmappedGroups = await _childFacade.AddChildAsync( _fromUiChildMapper.Map(child)); List <GroupWpf> groups = unmappedGroups .Select(_toUiGroupMapper.Map) .ToList(); RefreshDays(); if (groups.Count == 1) { NavigateToSuccessPage(groups.First()); return; } NavigateToChooseGroupPage(groups); }
private void ClearChild() { _prevChild = _newChild; NewChild = new ChildWpf("", "", GameLevel.Beginner, DayOfWeek.Sunday, DateTime.Today); }