public CretanPathViewModel(INavigationService navigationService) { Start = new DelegateCommand(StartProgram); _navigationService = navigationService; var programTest = new ProgramSetting("Working test", "Only working program"); var firstSegment = new SegmentSetting() { Duration = TimeSpan.FromMinutes(5), TargetPaceInMph = 4 }; var secondSegment = new SegmentSetting() { Duration = TimeSpan.FromMinutes(10), TargetPaceInMph = 6 }; programTest.Segments.AddFirst(secondSegment); programTest.Segments.AddFirst(firstSegment); var dummyPack = new ProgramPack("dummy", "A dummy pack for the dummies"); dummyPack.Programs.AddFirst(new ProgramSetting("Test1", "Test Description")); dummyPack.Programs.AddFirst(new ProgramSetting("Test2", "Test 2 Description")); dummyPack.Programs.AddFirst(new ProgramSetting("Test3", "Test 3 Description")); dummyPack.Programs.AddFirst(programTest); SelectedPack = dummyPack; }
public FreeRunSetupViewModel(INavigationService navigationService) { Debug.WriteLine("ctor viewmodel"); Session = new SegmentSetting() { TargetPaceInMph = 5, TolerancePercent = 10 }; Duration = 15; //. default to 15 minutes HapticFeedback = true; Start = new DelegateCommand(StartSession); _navigationService = navigationService; }
private void MonitorProgram() { _currentSegmentNode.OnNext(_currentProgramSettings.Segments.First); _currentSessionSettings = _currentSegmentNode.Value?.Value; while (_currentSessionSettings != null) { _currentSegmentProgress = new SessionProgress(_currentSessionSettings); _programProgress.SessionProgress.Add(_currentSegmentProgress); // Run the current segment Task.Run(() => MonitorSegment(), mSessionMonitorToken.Token).Wait(); // move to next segment _currentSegmentNode.OnNext(_currentSegmentNode.Value.Next); _currentSessionSettings = _currentSegmentNode.Value?.Value; } }
public SessionViewModel(SegmentSetting settings) { SessionSettings = settings; }
public Session(SegmentSetting settings) { InitializeComponent(); BindingContext = new SessionViewModel(settings); }