public async Task StartLocationAsync() { var message = new StartLongRunningTaskMessage(); MessagingCenter.Send(message, "StartLongRunningTaskMessage"); var toastMessage = new ToastMessage("Location tracking activated"); toastMessage.ShowToast(); mainViewModel.StrLocationOnOff = "Location tracking is on"; }
async void Sensor_PropertyChanged(object sender, PropertyChangedEventArgs e) { List <Sensor> sensorsInDb = (List <Sensor>) await App.DatabaseContext.GetSensorsAsync(); if (sender is Sensor sensor) { if (!sensor.IsActive) { allSelected = false; foreach (Sensor sensorDb in sensorsInDb) { if (sensor.Uuid == sensorDb.Uuid) { Sensor sensorToRemove = sensorDb; await App.DatabaseContext.DeleteSensorAsync(sensorToRemove.Id); } } var toastMessage = new ToastMessage(sensor.Name + " deactivated"); toastMessage.ShowToast(); } else { childViewModel = new DateAndIntervalViewModel(sensor, this); if (sensor.IsActive) { await PopupNavigation.Instance.PushAsync(new DateAndIntervalPopup() { BindingContext = childViewModel }); } } } }
private async void SaveDateAndInterval(object obj) { bool addSensorToDb = false; if (activateAllSensors) { List <Sensor> sensorsInDb = (List <Sensor>) await App.DatabaseContext.GetSensorsAsync(); if (sensorsInDb.Count > 0) { foreach (Sensor sensorInList in sensorList) { sensorInList.DateAndInterval = new DateAndInterval( DateAndInterval.Interval, DateAndInterval.FromDate, DateAndInterval.ToDate); foreach (Sensor sensorInDb in sensorsInDb) { if (sensorInList.Uuid == sensorInDb.Uuid) { await App.DatabaseContext.UpdateSensorAsync(sensorInDb); addSensorToDb = false; break; } addSensorToDb = true; } if (addSensorToDb) { await App.DatabaseContext.AddSensorAsync(sensorInList); } } } else { foreach (Sensor sensorInList in sensorList) { sensorInList.DateAndInterval = new DateAndInterval( DateAndInterval.Interval, DateAndInterval.FromDate, DateAndInterval.ToDate); await App.DatabaseContext.AddSensorAsync(sensorInList); } } await PopupNavigation.Instance.PopAllAsync(); var toastMessage = new ToastMessage("All sensors activated"); toastMessage.ShowToast(); } else { sensor.DateAndInterval = dateAndInterval; if (updateSensor) { await App.DatabaseContext.UpdateSensorAsync(sensor); await PopupNavigation.Instance.PopAllAsync(); var toastMessage = new ToastMessage(sensor.Name + " updated"); toastMessage.ShowToast(); } else { await App.DatabaseContext.AddSensorAsync(sensor); await PopupNavigation.Instance.PopAllAsync(); var toastMessage = new ToastMessage(sensor.Name + " activated"); toastMessage.ShowToast(); } } }