public VehiclesPageViewModel(IVehicleStore vehicleStore, IPageService pageService)
        {
            _vehicleStore = vehicleStore;
            _pageService  = pageService;

            LoadDataCommand      = new Command(async() => await LoadData());
            AddVehicleCommand    = new Command(async() => await AddVehicle());
            SelectVehicleCommand = new Command <VehicleViewModel>(async v => await SelectVehicle(v));
            DeleteVehicleCommand = new Command <VehicleViewModel>(async v => await DeleteVehicle(v));

            MessagingCenter.Subscribe <VehiclesDetailViewModel, Vehicle>(this, Events.VehicleAdded, OnVehicleAdded);

            MessagingCenter.Subscribe <VehiclesDetailViewModel, Vehicle>(this, Events.VehicleUpdated, OnVehicleUpdated);
        }
        public VehiclesDetailViewModel(VehicleViewModel viewModel, IVehicleStore vehicleStore, IPageService pageService)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            _pageService  = pageService;
            _vehicleStore = vehicleStore;

            SaveCommand = new Command(async() => await Save());

            Vehicle = new Vehicle
            {
                Id     = viewModel.Id,
                Year   = viewModel.Year,
                Make   = viewModel.Make,
                Model  = viewModel.Model,
                Trim   = viewModel.Trim,
                Engine = viewModel.Engine
            };
        }
 public VehicleController(IVehicleStore store, IUserProvider userProvider)
 {
     _store = store;
     _userProvider = userProvider;
 }
 public ModelController(IVehicleStore store)
 {
     _store = store;
 }
 public MakeController(IVehicleStore store)
 {
     _store = store;
 }