Пример #1
0
        protected override async void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetTheme(Resource.Style.MyTheme);
            Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);

            SetContentView(Resource.Layout.Form_Room_List);
            drawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);


            toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);
            this.SupportActionBar.SetHomeButtonEnabled(true);
            this.SupportActionBar.SetDisplayHomeAsUpEnabled(true);


            var navigationView = FindViewById <NavigationView>(Resource.Id.nav_view);

            navigationView.NavigationItemSelected += NavigationView_NavigationItemSelected;
            navigationView.SetCheckedItem(Resource.Id.nav_rooms);


            var drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, Resource.String.open_drawer, Resource.String.close_drawer);

            drawerLayout.SetDrawerListener(drawerToggle);
            drawerToggle.SyncState();

            Rooms_Finder rf   = new Rooms_Finder();
            string       text = Intent.GetStringExtra("Data") ?? "Data not available";

            List <Campus_Harburg_Core.Struct_Room> list;

            try
            {
                list = rf.dataToList(text);
            }
            catch (Exception ex)
            {
                list = new List <Struct_Room>();


                Struct_Room msg = new Struct_Room();
                msg.building = "Fehler";
                msg.name     = "Während der Verarbeitung der Daten ist leider ein Fehler aufgetreten!";
                msg.time     = ex.Message;
                list.Add(msg);
            }

            list.Sort((s1, s2) => s1.building.CompareTo(s2.building));
            listView = FindViewById <ListView>(Resource.Id.List);

            listView.Adapter    = new ListAdapter_Rooms(this, list);
            listView.ItemClick += OnListItemClick;
        }
Пример #2
0
        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();
        }