public MainViewModel(IBillCalculator billCalculator, Task<IUserRepository> userRepositoryTask, IFuelPriceAccesser fuelPriceAccesser, ITaksariDialogService messageBoxes) { //Register messengers IMvxMessenger messenger = Mvx.Resolve<IMvxMessenger>(); messenger.Subscribe<ToggleUserActivityMessage>(OnToggleUserActivityMessageReceived, MvxReference.Strong); messenger.Subscribe<DeleteUserMessage>(OnDeleteUserMessageReceived, MvxReference.Strong); messenger.Subscribe<PaymentRequestedMessage>(OnPaymentRequestedMessageReceived, MvxReference.Strong); //FuelPriceAccesser. PropertyChangedEvent is handled for setting new fuelprices to _appsettings AppSettings.FuelPricesAreUpToDate = false; fuelPriceAccesser.FuelPricesUpdated += OnFuelPricesUpdated; //UserRepository _userRepositoryTask = userRepositoryTask; //Init SortingObservableCollections ActiveUserViewModelsTask = new NotifyTaskCompletion<ObservableCollection<IUserViewModel>>(InitActiveUserViewModelsAsync()); ActiveUserViewModelsTask.PropertyChanged += OnActiveUsersTaskPropertyChanged; InActiveUserViewModelsTask = new NotifyTaskCompletion<ObservableCollection<IUserViewModel>>(InitInActiveUserViewModelsAsync()); //BillCalculator _billCalculator = billCalculator; _billCalculator.CostsPerKm = AppSettings.FinalCostsPerKm; _billCalculator.BillsChanged += OnBillsChanged; _billCalculator.LocatorStatusChanged += OnLocatorStatusChanged; //Message boxes _dialogService = messageBoxes; //Default LocatorStatus LocatorStatus = new BindablePositionStatus(WrappedPositionStatus.Ready); }
private void OnLocatorStatusChanged(object sender, LocatorStatusChangedEventArgs args) { LocatorStatus = new BindablePositionStatus(args.Status); }