async void startSearch() { Struct_SearchConfig_Room rcfg = new Struct_SearchConfig_Room(); rcfg.cap_min = Int16.Parse(gui_cap_min.SelectedValue.ToString()); rcfg.cap_max = Int16.Parse(gui_cap_max.SelectedValue.ToString()); rcfg.date_day = gui_date.Date.LocalDateTime.Day; rcfg.date_month = gui_date.Date.LocalDateTime.Month; rcfg.date_year = gui_date.Date.LocalDateTime.Year; rcfg.time_start = Int16.Parse(gui_time_start.SelectedIndex.ToString()); rcfg.time_end = Int16.Parse(gui_time_end.SelectedIndex.ToString()); rcfg.duration = (gui_dur.SelectedIndex + 1); if (rcfg.time_end == 0) { rcfg.time_end = 24; } if (rcfg.time_end <= rcfg.time_start) { MessageDialog dialog = new MessageDialog("Der gewählte Zeitraum ist ungültig. Die Endzeit muss später als die Startzeit sein!", "Ungültige Eingabe"); await dialog.ShowAsync(); return; } int sel = gui_dur.SelectedIndex; int dh = sel; if (rcfg.time_end - rcfg.time_start <= dh) { MessageDialog dialog = new MessageDialog("Der Zeitraum ist zu kurz für die gewählte Dauer", "Ungültige Eingabe"); await dialog.ShowAsync(); return; } if (gui_pool.IsChecked == true) { rcfg.withPool = false; } else { rcfg.withPool = true; } Object[] parameters = new Object[5]; Room_Result res = await finder.getResult(rcfg); parameters[0] = finder.dataToString(res.list); this.Frame.Navigate(typeof(frm_room_view), parameters); }
async void OnOKButton(object sender, EventArgs eventArgs) { Rooms_Finder rf = new Rooms_Finder(); Struct_SearchConfig_Room cfg = new Struct_SearchConfig_Room(); Boolean isError = false; Spinner t_start = (Spinner)FindViewById(Resource.Id.spinner1); Spinner t_end = (Spinner)FindViewById(Resource.Id.spinner2); Spinner t_dur = (Spinner)FindViewById(Resource.Id.spinner3); Spinner t_cmin = (Spinner)FindViewById(Resource.Id.spinner4); Spinner t_cmax = (Spinner)FindViewById(Resource.Id.spinner5); CheckBox t_pool = (CheckBox)FindViewById(Resource.Id.checkBox); cfg.cap_min = getSpinnerTextInt(t_cmin); cfg.cap_max = getSpinnerTextInt(t_cmax); cfg.duration = getSpinnerIndex(t_dur) + 1; cfg.date_day = selectedDay.Day; cfg.date_month = selectedDay.Month; cfg.date_year = selectedDay.Year; cfg.time_end = getSpinnerIndex(t_end); cfg.time_start = getSpinnerIndex(t_start); if (t_pool.Checked) { cfg.withPool = true; } else { cfg.withPool = false; } if (cfg.time_start == 24) { isError = true; msgBox("Ungültige Eingabe", "Die Startzeit muss vor 24 Uhr liegen."); } if (cfg.time_start > cfg.time_end) { isError = true; msgBox("Ungültige Eingabe", "Die Startzeit muss vor der Endzeit liegen."); } if (cfg.cap_min > cfg.cap_max) { isError = true; msgBox("Ungültige Eingabe", "Die minimale Anzahl an Plätzen darf nicht größer sein als das Maximum."); } if (cfg.duration > (cfg.time_end - cfg.time_start)) { isError = true; msgBox("Ungültige Eingabe", "Der gewünschte Zeitraum ist für die Dauer zu kurz."); } if (cfg.time_end == 0) { isError = true; msgBox("Ungültige Eingabe", "Die Endzeit darf nicht 0 Uhr sein.--> 24 Uhr"); } if (!isError) { dlg = ProgressDialog.Show(this, "Bitte warten", "Daten werden abgefragt...", true); Room_Result res = await rf.getResult(cfg); List <Campus_Harburg_Core.Struct_Room> list = res.list; if (!res.ok) { msgBox("Abfrage fehlgeschlagen", "Die Abfrage der Daten vom Server ist fehlgeschlagen. Möglicherweise ist kein Raum mit gewünschten Kriterien verfügbar oder die Internetverbindung wurde unterbrochen"); } else { var activity2 = new Intent(this, typeof(Activity_Room_List)); activity2.PutExtra("Data", rf.dataToString(list)); StartActivity(activity2); } } dlg.Dismiss(); }