diff --git a/Orarend/API.cs b/Orarend/API.cs
index 24de4c1..187a09a 100644
--- a/Orarend/API.cs
+++ b/Orarend/API.cs
@@ -1,5 +1,7 @@
-using System.Collections.Generic;
+using HtmlAgilityPack;
+using System.Collections.Generic;
using System.IO;
+using System.Linq;
using System.Net;
using System.Threading.Tasks;
using System.Xml;
@@ -16,17 +18,22 @@ namespace Orarend
/// A csoportok, amiknek az óráit kérjük, szóközökkel elválasztva
/// A nap egy betűs formában
///
- public static IEnumerable<Óra> Órák(string osztályid, string csoportok, string nap)
+ public static IEnumerable<Óra> Órák(string osztályid, string csoportok, char nap)
{
return new Óra[] { new Óra { Azonosító = "test", Név = "Test", Tanár = new Tanár { Név = "A B" }, Terem = "222" }, new Óra { Azonosító = "asd", Név = "Asd", Tanár = new Tanár { Név = "B A" }, Terem = "216" } };
}
- public static async Task> Osztályok()
+ ///
+ /// Visszatér az osztályok listájával, egy-egy kételemű tömbbel, az első elem az azonosító, a második a megjelenített név.
+ ///
+ ///
+ public static async Task> Osztályok()
{ //TODO: Tárolja el az adatokat, és csak külön hívásra frissítse; csak a frissítés legyen async, ezek nem
+ HtmlDocument doc = new HtmlDocument();
var req = WebRequest.CreateHttp("http://deri.enaplo.net/ajax/orarend/orarendoszt.php");
var resp = await req.GetResponseAsync();
- var doc = XDocument.Parse(new StreamReader(resp.GetResponseStream()).ReadToEnd());
- return new string[] { doc.Element(XName.Get("select")).Value };
+ doc.Load(resp.GetResponseStream());
+ return doc.GetElementbyId("uok").ChildNodes.Where(node => node.HasAttributes).Select(node => new string[] { node.GetAttributeValue("value", ""), node.InnerText });
}
}
}
diff --git a/Orarend/Orarend.csproj b/Orarend/Orarend.csproj
index 20ba1c6..0b5b840 100644
--- a/Orarend/Orarend.csproj
+++ b/Orarend/Orarend.csproj
@@ -33,14 +33,21 @@
prompt
4
-
-
-
+
+
+
+
+ ..\packages\HtmlAgilityPack.1.4.9.5\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid+MonoTouch\HtmlAgilityPack.dll
+ True
+
+
+
+