Esempio n. 1
0
 public SettingsPage()
 {
     var fetcher = new Fetcher();
     fetcher.RaiseErrorMessage += (sender, e) =>
     {
         Alert(e.MessageHead, e.MessageBody);
     };
     fetcher.RaiseRetreivedGroupItems += (sender, e) =>
     {
         Refresh(e.Groups);
     };
     InitializeComponent();
     DataContext = _groups;
     #if LEHRER
     if (_settings.Read("lehrer") == null)
     {
         ShowPopup(false);
     }
     else
     {
         fetcher.GetClasses();
     }
     #endif
     _pi = new ProgressIndicator {IsVisible = true, IsIndeterminate = true, Text = "Vertretungen werden geladen"};
     #if !LEHRER
     fetcher.GetClasses();
     if (_settings.Read("group") == null)
     {
         _settings.Write("group", 0);
     }
     // Datenkontext des Listenfeldsteuerelements auf die Beispieldaten festlegen
     #endif
 }
Esempio n. 2
0
        public void GetGroupString()
        {
            var serializer = new JavaScriptSerializer();
            var res = new List<Group>();
            var callback = new EventHandler<GroupEventArgs>((sender, locRes) =>
            {
                res = locRes.Groups;
            });
            var spy = new MockedNetworkAccessor
            {
                DataToReturn = "<html>\n<head>\n<meta http-equiv=\"expires\" content=\"0\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n<meta name=\"GENERATOR\" content=\"gp-Untis 2013\">\n<title>Navigation</title>\n<script language=\"JavaScript\" src=\"../untisscripts.js\"></script>\n<link rel=\"stylesheet\" href=\"../untisinfo.css\" type=\"text/css\">\n\n<script LANGUAGE=\"JavaScript\">\nvar topDir = \"w\";\n\nfunction PopulateElementOption(Form, entries, flag)\n{\n var idx = 0;\n if (flag & 1)\n {\n   Form.element[0] = new Option(\"- Alle -\", 0);\n   idx++;\n }\n if (flag == 0 || flag & 2)\n {\n  for (i = 0; i < entries.length; i++, idx++)\n  {\n    Form.element[idx] = new Option(entries[i], i+1);\n  }\n }\n if (idx > 0)\n {\n	Form.element.selectedIndex = 0;\n	doDisplayTimetable(Form, topDir);\n }\n}\n\n var classes = [\"DRUCK\",\"5A\",\"5B\",\"5C\",\"5D\",\"5E\",\"6A\",\"6B\",\"6C\",\"6D\",\"6E\",\"6F\",\"6G\",\"7A1\",\"7A2\",\"7N1\",\"7N2\",\"7N3\",\"7N4\",\"8A1\",\"8A2\",\"8N1\",\"8N2\",\"8N3\",\"9A\",\"9D\",\"9B\",\"9C1\",\"9C2\",\"E2\",\"Q2\",\"Q4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"abi-1\",\"abi-2\",\"abi-3\",\"abi-4\",\"abi-5\",\"abi-6\",\"abi-7\",\"abi-b\",\"abi-g\",\"8A\",\"DAF\"];\n var flcl = 2; var flte = 1;\nfunction ChangeStudentOptions(Form)\n{\n var type = Form.type[Form.type.selectedIndex].value;\n if (type != \"s\")\n    return;\n var nr = Form.classes[Form.classes.selectedIndex].value;\n Form.element.length = 0;\n var idx = 0;\n for (i = 0; i < students.length; i++)\n {\n   if (nr == 0 || studtable[i] == nr)\n   {\n      Form.element[idx] = new Option(students[i], i+1);\n      idx++;\n   }\n }\n	doDisplayTimetable(Form, topDir);\n}\n\nfunction ChangeElementOptions(Form)\n{\n setselclass(\"empty\");\n Form.element.length = 0;\n var type = Form.type[Form.type.selectedIndex].value;\n switch(type)\n {\n	case \"c\": PopulateElementOption(Form, classes, 0); break;\n	case \"w\": PopulateElementOption(Form, classes, flcl); break;\n	case \"t\": PopulateElementOption(Form, teachers, 0); break;\n	case \"v\": PopulateElementOption(Form, teachers, flte); break;\n	case \"r\": PopulateElementOption(Form, rooms, 0); break;\n	case \"f\": PopulateElementOption(Form, subjects, 0); break;\n	case \"g\": PopulateElementOption(Form, corridors, 0); break;\n	case \"s\": \n	{\n        setselclass(\"restore\");\n        PopulateElementOption(Form, students, 0); \n        break;\n    }\n }\n\n return;\n}\n\nfunction SelectElement(Form, name)\n{\n	var art = getParameter(parent.location.href, \"art\");\n	if (art != \"\")\n	{\n		for (var i = 0; i < Form.type.length; i++)\n		{\n			if (Form.type[i].value == art)\n			{\n				Form.type.selectedIndex = i;\n				break;\n			}\n		}\n	}\n	ChangeElementOptions(Form);\n	for (var i = 0; i < Form.element.length; i++)\n	{\n		if (Form.element[i].text == name)\n		{\n			Form.element.selectedIndex = i;\n			break;\n		}\n	}\n}\n\nfunction OnLoad(Form)\n{\n    setselclass(\"save\");\n    \n	var weeknr = WeekOfYear(new Date);\n	for (var i = 0; i < Form.week.options.length; i++)\n	{\n		if (Form.week.options[i].value == weeknr)\n			Form.week.options[i].selected = true;\n	}\n\n	var name = \"\";\n	try \n	{\n		name = getParameter(parent.location.href, \"name\");\n	}\n	catch (e) {};\n	if (name == \"\")\n	{\n		ChangeElementOptions(Form);\n		Form.element.selectedIndex = -1;\n		parent.main.location = \"../welcome.htm\";\n	}\n	else\n	{\n		SelectElement(Form, name);\n		doDisplayTimetable(Form, topDir);\n	}\n}\n\n</script>\n</head>\n\n<body class=\"nav\" onload=\"OnLoad(document.forms[0]);\">\n\n <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"left\">\n\n  <tr bgcolor=\"#FFFFFF\">\n\n   <td>\n<form name=\"NavBar\" method=\"post\">\n\n    <table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n\n     <!-- week selection -->\n     <td align=\"left\" class=\"tabelle\">\n      <span class=\"selection\">\n       <nobr>\n        Kalenderwoche<br>\n        <span class=\"absatz\">\n         &nbsp;<br>\n        </span>\n        <select name=\"week\" class=\"selectbox\" onChange=\"doDisplayTimetable(NavBar, topDir);\">\n<option value=\"13\">23.3.2015</option>\n<option value=\"14\">30.3.2015</option>\n<option value=\"15\">6.4.2015</option>\n<option value=\"16\">13.4.2015</option>\n        </select>\n       </nobr>\n      </span>\n     </td>\n\n     <!-- type selection -->\n     <td align=\"left\" class=\"tabelle\">\n      <span class=\"selection\">\n       <nobr>\n        Art<br>\n        <span class=\"absatz\">\n         &nbsp;<br>\n        </span>\n        <select name=\"type\" class=\"selectbox\" onChange=\"ChangeElementOptions(NavBar);\">\n<option value=\"w\">Ver-Kla</option>\n        </select>\n       </nobr>\n      </span>\n     </td>\n\n\n     <!-- element selection -->\n     <td align=\"left\" class=\"tabelle\">\n      <span class=\"selection\">\n       <nobr>\n        Element<br>\n        <span class=\"absatz\">\n         &nbsp;<br>\n        </span>\n        <select name=\"element\" class=\"selectbox\" onChange=\"doDisplayTimetable(NavBar, topDir);\">\n		<option value=\"1\">\n??_*\n		</option>\n        </select>\n       </nobr>\n      </span>\n     </td>\n\n  <td class=\"tabelle\" style=\"vertical-align: middle\">\n      <span class=\"selection\">\n       <nobr>\n		<a href=\"$\" onclick=\"return(doPrintTimetable(NavBar, topDir))\" ><img src=\"print.gif\" border=\"0\" /> Drucken</a>\n       </nobr>\n      </span>\n  </td>\n\n     <!--leeres Feld-->\n     <td width=\"100%\" class=\"tabelle\">\n     </td>\n\n\n     <!-- school info -->\n     <td align=\"right\" class=\"tabelle\">\n      <nobr>\n       <span class=\"schoolname\">\n        CHRIST.-WIRTH-SCHULE USINGEN<img src=\"punkt.gif\">D-61250, SCHLOSSPLATZ 1<br>\n       </span>\n       <span class=\"absatz\">\n        &nbsp;<br>\n       </span>\n       <span class=\"description\">\n        STUNDENPLAN 14/15-II<img src=\"punkt.gif\">13.04.2015<br>\n        Stand: 27.03.2015 07:59\n       </span>\n      </nobr>\n     </td>\n\n    </table>\n</form>\n\n   </td>\n\n  </tr>\n  \n </table>\n\n</body>\n</html>\n"
            };
            var sut = new Fetcher(spy);
            sut.RaiseRetreivedGroupItems += callback;
            sut.GetClasses();

            var exp = new List<Group>
            {
                new Group{ClassName = "DRUCK", Id = 1},
                new Group{ClassName = "5A", Id = 2},
                new Group{ClassName = "5B", Id = 3},
                new Group{ClassName = "5C", Id = 4},
                new Group{ClassName = "5D", Id = 5},
                new Group{ClassName = "5E", Id = 6},
                new Group{ClassName = "6A", Id = 7},
                new Group{ClassName = "6B", Id = 8},
                new Group{ClassName = "6C", Id = 9},
                new Group{ClassName = "6D", Id = 10},
                new Group{ClassName = "6E", Id = 11},
                new Group{ClassName = "6F", Id = 12},
                new Group{ClassName = "6G", Id = 13},
                new Group{ClassName = "7A1", Id = 14},
                new Group{ClassName = "7A2", Id = 15},
                new Group{ClassName = "7N1", Id = 16},
                new Group{ClassName = "7N2", Id = 17},
                new Group{ClassName = "7N3", Id = 18},
                new Group{ClassName = "7N4", Id = 19},
                new Group{ClassName = "8A1", Id = 20},
                new Group{ClassName = "8A2", Id = 21},
                new Group{ClassName = "8N1", Id = 22},
                new Group{ClassName = "8N2", Id = 23},
                new Group{ClassName = "8N3", Id = 24},
                new Group{ClassName = "9A", Id = 25},
                new Group{ClassName = "9D", Id = 26},
                new Group{ClassName = "9B", Id = 27},
                new Group{ClassName = "9C1", Id = 28},
                new Group{ClassName = "9C2", Id = 29},
                new Group{ClassName = "E2", Id = 30},
                new Group{ClassName = "Q2", Id = 31},
                new Group{ClassName = "Q4", Id = 32},
                new Group{ClassName = "5", Id = 33},
                new Group{ClassName = "6", Id = 34},
                new Group{ClassName = "7", Id = 35},
                new Group{ClassName = "8", Id = 36},
                new Group{ClassName = "9", Id = 37},
                new Group{ClassName = "abi-1", Id = 38},
                new Group{ClassName = "abi-2", Id = 39},
                new Group{ClassName = "abi-3", Id = 40},
                new Group{ClassName = "abi-4", Id = 41},
                new Group{ClassName = "abi-5", Id = 42},
                new Group{ClassName = "abi-6", Id = 43},
                new Group{ClassName = "abi-7", Id = 44},
                new Group{ClassName = "abi-b", Id = 45},
                new Group{ClassName = "abi-g", Id = 46},
                new Group{ClassName = "8A", Id = 47},
                new Group{ClassName = "DAF", Id = 48}
            };

            Assert.AreEqual(serializer.Serialize(exp), serializer.Serialize(res));
        }
Esempio n. 3
0
        private void ShowPopup(bool wrongPw)
        {
            ContentPanel.Visibility = Visibility.Collapsed;
                PasswordBox pwBox = new PasswordBox();

                TiltEffect.SetIsTiltEnabled(pwBox, true);
                CustomMessageBox messageBox = new CustomMessageBox
                {
                    Caption = "Bitte Passwort eingeben",
                    Content = pwBox,
                    LeftButtonContent = "ok",
                    IsRightButtonEnabled = false,
                    IsFullScreen = false,
                    Message = wrongPw ? "Falsches Passwort!!" : VConfig.EnterPw
                };

                //Create a new custom message box

                //Define the dismissed event handler
                messageBox.Dismissed += (s1, e1) =>
                {
                    switch (e1.Result)
                    {
                        case CustomMessageBoxResult.LeftButton:
                            if (pwBox.Password == VConfig.Password)
                            {
                                _settings.Write("lehrer", 1);
                                if (_settings.Read("group") == null)
                                {
                                    _settings.Write("group", 0);
                                }
                                var fetcher = new Fetcher();
                                fetcher.RaiseErrorMessage += (sender, e) =>
                                {
                                    Alert(e.MessageHead, e.MessageBody);
                                };
                               fetcher.RaiseRetreivedGroupItems += (sender, e) =>
                                {
                                    Refresh(e.Groups);
                                };
                                fetcher.GetClasses();
                                try
                                {
                                    ContentPanel.Visibility = Visibility.Visible;
                                }
                                catch (NullReferenceException) { }

                            }
                            else
                            {
                                ShowPopup(true);
                            }
                            break;
                        case CustomMessageBoxResult.None:
                            Application.Current.Terminate();
                            break;
                    }
                };

                //launch the task
                messageBox.Show();
        }
Esempio n. 4
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate (bundle);

            SetContentView (Resource.Layout.Settings);
            _setti = new Settings (this);
            var toolbar = FindViewById<Toolbar> (Resource.Id.toolbar);
            //Toolbar will now take on default actionbar characteristics
            SetSupportActionBar (toolbar);
            #if LEHRER
            SupportActionBar.Title = "Kürzel";
            #else
            SupportActionBar.Title = "Klasse / Kurs";
            #endif
            if (_setti.Read ("group") != null) {
                SupportActionBar.SetHomeButtonEnabled (true);
                SupportActionBar.SetDefaultDisplayHomeAsUpEnabled (true);
            }
            _lv = FindViewById<ListView>(Resource.Id.lv);

            _fetcher = new Fetcher ();
            _fetcher.RaiseErrorMessage += (sender, args) =>
            {
                Toast(args.MessageBody);
            };
            _fetcher.RaiseRetreivedGroupItems += (sender, args) =>
            {
                Refresh(args.Groups);
            };
            #if LEHRER
            try {
                if ((bool)_setti.Read("Teacher") == false)
                    throw new NullReferenceException();
                _pd = new ProgressDialog (this);
                _pd.SetMessage("Kürzel werden geladen");
                _pd.Show ();

                _fetcher.GetClasses();
            } catch (NullReferenceException) {
                ShowAuthDialogue();
            }
            #endif
            #if !LEHRER
            _pd = new ProgressDialog (this);
            _pd.SetMessage("Klassen werden geladen");
            _pd.Show ();

            _fetcher.GetClasses();
            #endif
        }