private async void OkButtonClicked(object sender, EventArgs e) { wateringEventViewModel = new WateringEventViewModel(); WateringStationViewModel wateringStationViewModel = new WateringStationViewModel(); string wateringStationFullName = pickerRelayPanelStationNumber.Items[pickerRelayPanelStationNumber.SelectedIndex]; bool existingStation = await wateringStationViewModel.RetrieveWateringStation(Int32.Parse(wateringStationFullName.Substring(0, wateringStationFullName.IndexOf(" ")))); if (existingStation) { wateringEventViewModel.stationFullName = wateringStationViewModel.FullName; wateringEventViewModel.wateringTime = Int32.Parse(stepperWateringTimeValue.Text); wateringEventViewModel.startTime = tpickerStartTime.Time.ToString(); wateringEventViewModel.sunday = switchSunday.On; wateringEventViewModel.monday = switchMonday.On; wateringEventViewModel.tuesday = switchTuesday.On; wateringEventViewModel.wednesday = switchWednesday.On; wateringEventViewModel.thursday = switchThursday.On; wateringEventViewModel.friday = switchFriday.On; wateringEventViewModel.saturday = switchSaturday.On; bool stationAdded = await wateringEventViewModel.SaveWateringEvent(); if (stationAdded) { await DisplayAlert("Info", string.Concat("Event added."), "OK"); } } else { await DisplayAlert("Error", string.Concat("Error loading station."), "OK"); } await Navigation.PopAsync(); }
public AddEditWateringStationModalPage(WateringStationViewModel wateringStationViewModel) { InitializeComponent(); entryRelayPanelStationNumber.Text = wateringStationViewModel.Number.ToString(); entryWateringStationName.Text = wateringStationViewModel.Name; stepperWateringTimeValue.Text = wateringStationViewModel.WateringTime.ToString(); stepperWateringTime.Value = Int32.Parse(stepperWateringTimeValue.Text); }
private async void DeleteButtonClicked(object sender, EventArgs e) { wateringStationViewModel = new WateringStationViewModel(Int32.Parse(entryRelayPanelStationNumber.Text)); bool stationDeleted = await wateringStationViewModel.DeleteWateringStation(); if (stationDeleted) { await DisplayAlert("Info", string.Concat("Station ", wateringStationViewModel.FullName, " deleted."), "OK"); } await Navigation.PopAsync(); }
private async void OnItemToggled(object sender, ToggledEventArgs e) { try { serviceActivityIndicator.IsRunning = true; SwitchCell toggledSwitch = (SwitchCell)sender; string stationID = toggledSwitch.Text.Substring(0, toggledSwitch.Text.IndexOf(" ")); WateringStationViewModel wsvm = new WateringStationViewModel(int.Parse(stationID)); bool stationActive = await App.restService.GetSwitchStateAsync(stationID); bool switchOn = toggledSwitch.On; if (!stationActive && switchOn) { stationActive = await App.restService.ActivateSwitchAsync(stationID); Device.StartTimer(new TimeSpan(0, 0, 0, 0, wsvm.WateringTime * 60 * 100), () => { Device.BeginInvokeOnMainThread(async() => { await wateringProgressBar.ProgressTo(wateringProgressBar.Progress + 0.1, 1000, Easing.SinOut); }); if (wateringProgressBar.Progress == 1) { toggledSwitch.On = false; return(false); } else { return(true); } }); await DisplayAlert("Info", string.Concat("Station ", stationID, " activated"), "OK"); } else if (stationActive && !switchOn) { stationActive = await App.restService.ActivateSwitchAsync(stationID); wateringProgressBar.Progress = 0.0; await DisplayAlert("Info", string.Concat("Station ", stationID, " deactivated"), "OK"); } serviceActivityIndicator.IsRunning = false; } catch (Exception ex) { await DisplayAlert("Error", String.Concat("Failed to connect to Relay Panel - ", ex.Message), "Ok"); } finally { serviceActivityIndicator.IsRunning = false; } }
private async void OkButtonClicked(object sender, EventArgs e) { wateringStationViewModel = new WateringStationViewModel(Int32.Parse(entryRelayPanelStationNumber.Text)); wateringStationViewModel.Number = Int32.Parse(entryRelayPanelStationNumber.Text); wateringStationViewModel.Name = entryWateringStationName.Text; wateringStationViewModel.WateringTime = Int32.Parse(stepperWateringTimeValue.Text); bool stationAdded = await wateringStationViewModel.SaveWateringStation(); if (stationAdded) { await DisplayAlert("Info", string.Concat("Station ", wateringStationViewModel.FullName, " added."), "OK"); } await Navigation.PopAsync(); }
private async void EditButtonClicked(object sender, EventArgs e) { SwitchCell toggledSwitch = (SwitchCell)sender; string stationID = toggledSwitch.Text.Substring(0, toggledSwitch.Text.IndexOf(" ")); WateringStationViewModel selectedStation = new WateringStationViewModel(); bool stationFound = await selectedStation.RetrieveWateringStation(Int32.Parse(stationID)); if (stationFound) { await Navigation.PushAsync(new AddEditWateringStationModalPage(selectedStation)); //stationsList.ItemsSource = await AllWateringStationViewModel.RetrieveWateringStationsAsync(); } else { await DisplayAlert("Error", string.Concat("Failed to locate station ", stationID, " on the database"), "OK"); } }