示例#1
0
        public TrackDetailViewModel(IRepoManager repoManager, INavigation navigation, IMotiveConfiguration motiveConfig, TrackEntry trackEntry)
        {
            _repoManager  = repoManager ?? throw new ArgumentNullException(nameof(repoManager));
            _navigation   = navigation ?? throw new ArgumentNullException(nameof(navigation));
            _trackEntry   = trackEntry ?? throw new ArgumentNullException(nameof(trackEntry));
            _motiveConfig = motiveConfig ?? throw new ArgumentNullException(nameof(Motive));

            TransportationModeEntry modeEntry = _repoManager.TransportationModeRepository.GetLastWithTrackEntry(_trackEntry.Id);

            TransportModeSelectionCommand = new Command(async() =>
            {
                await _navigation.PushModalAsync(new NavigationPage(new TransportSelectionPage(_trackEntry)));
            });

            OpenTrackMotiveCommand = new Command(async() =>
            {
                TrackDetailMotivePage motivePage = new TrackDetailMotivePage(Motive);
                await _navigation.PushModalAsync(new NavigationPage(motivePage));
            });

            DataItems = new ObservableRangeCollection <ListItem>();

            if (_motiveConfig.Tracks)
            {
                PrepareForMotive();
            }

            CompletedTransport = modeEntry != null;
        }
示例#2
0
        public StopDetailViewModel(IMotiveConfiguration motiveConfig, IRepoManager repoManager, INavigation navigation, StopVisit stopVisit)
        {
            _repoManager  = repoManager ?? throw new ArgumentNullException(nameof(repoManager));
            _stopVisit    = stopVisit ?? throw new ArgumentNullException(nameof(stopVisit));
            _navigation   = navigation ?? throw new ArgumentNullException(nameof(navigation));
            _motiveConfig = motiveConfig ?? throw new ArgumentNullException(nameof(motiveConfig));

            StopVisit = new StopVisitViewModel(stopVisit);

            OpenStopNameCommand = new Command(async() =>
            {
                StopDetailNamePage namePage = new StopDetailNamePage(StopVisit);
                await OpenPage(namePage);
            });

            OpenStopMotiveCommand = new Command(async() =>
            {
                StopDetailMotivePage motivePage = new StopDetailMotivePage(Motive);
                await OpenPage(motivePage);
            });

            DataItems     = new ObservableRangeCollection <ListItem>();
            StopName      = StopNameFromString(StopVisit.Name);
            CompletedName = !string.IsNullOrEmpty(StopVisit.Name);

            StopVisit.PropertyChanged += StopVisit_PropertyChanged;

            if (_motiveConfig.Stops)
            {
                PrepareForMotive();
            }
        }
示例#3
0
        public AbstractMotiveViewModel(Motive motive, IMotiveConfiguration motiveConfiguration)
        {
            _motive = motive ?? throw new ArgumentNullException(nameof(motive));
            _motiveConfiguration = motiveConfiguration ?? throw new ArgumentNullException(nameof(motiveConfiguration));
            ResetViewModel();

            PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName == nameof(Text))
                {
                    OnPropertyChanged(nameof(ConvertedText));
                }
            };
        }
示例#4
0
 public TrackMotiveViewModel(Motive motive, IMotiveConfiguration motiveConfiguration) : base(motive, motiveConfiguration)
 {
 }