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();
        }