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