diff --git a/Orarend/API.cs b/Orarend/API.cs
index 254afa4..d8685a6 100644
--- a/Orarend/API.cs
+++ b/Orarend/API.cs
@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
+using System.Runtime.Serialization.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
@@ -19,6 +20,7 @@ namespace Orarend
///
public static Osztály[] Osztályok { get; private set; }
public static List<Órarend> Órarendek { get; } = new List<Órarend>();
+ public static Settings Beállítások { get; private set; } //TODO: Settings
///
/// Frissíti az osztálylistát és az eredeti órarendet, első megnyitásnál, és egy órarend hozzáadásánál/szerkesztésénél, majd hetente elegendő meghívni
///
@@ -101,7 +103,68 @@ namespace Orarend
///
public static async Task HelyettesítésFrissítés()
{
- //TODO
+ HtmlDocument doc = new HtmlDocument();
+ var req = WebRequest.CreateHttp("http://deri.enaplo.net/ajax/print/htlista.php");
+ var resp = await req.GetResponseAsync();
+ await Task.Run(() =>
+ {
+ using (var sr = new StreamReader(resp.GetResponseStream()))
+ doc.LoadHtml(sr.ReadToEnd());
+ });
+ }
+
+ public static void ÓrarendBetöltés(Stream s)
+ {
+ using (s)
+ {
+ var serializer = new DataContractJsonSerializer(typeof(Órarend[]));
+ Órarendek.AddRange((Órarend[])serializer.ReadObject(s));
+ }
+ }
+
+ public static void OsztályBetöltés(Stream s)
+ {
+ using (s)
+ {
+ var serializer = new DataContractJsonSerializer(typeof(Osztály[]));
+ Osztályok = ((Osztály[])serializer.ReadObject(s));
+ }
+ }
+
+ public static void BeállításBetöltés(Stream s)
+ {
+ using (s)
+ {
+ var serializer = new DataContractJsonSerializer(typeof(Settings));
+ Beállítások = ((Settings)serializer.ReadObject(s));
+ }
+ }
+
+ public static void ÓrarendMentés(Stream s)
+ {
+ using (s)
+ {
+ var serializer = new DataContractJsonSerializer(typeof(Órarend[]));
+ serializer.WriteObject(s, Órarendek);
+ }
+ }
+
+ public static void OsztályMentés(Stream s)
+ {
+ using (s)
+ {
+ var serializer = new DataContractJsonSerializer(typeof(Osztály[]));
+ serializer.WriteObject(s, Osztályok);
+ }
+ }
+
+ public static void BeállításMentés(Stream s)
+ {
+ using (s)
+ {
+ var serializer = new DataContractJsonSerializer(typeof(Settings));
+ serializer.WriteObject(s, Beállítások);
+ }
}
}
}
diff --git a/Orarend/Orarend.csproj b/Orarend/Orarend.csproj
index 8292462..23c3f58 100644
--- a/Orarend/Orarend.csproj
+++ b/Orarend/Orarend.csproj
@@ -37,6 +37,7 @@
+
diff --git a/Orarend/Settings.cs b/Orarend/Settings.cs
new file mode 100644
index 0000000..631d280
--- /dev/null
+++ b/Orarend/Settings.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Orarend
+{
+ public class Settings
+ {
+ }
+}
diff --git a/OrarendAndroidApp/MainActivity.cs b/OrarendAndroidApp/MainActivity.cs
index 00169b5..0611daa 100644
--- a/OrarendAndroidApp/MainActivity.cs
+++ b/OrarendAndroidApp/MainActivity.cs
@@ -12,6 +12,7 @@ using Java.Lang;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Threading;
+using System.IO;
namespace OrarendAndroidApp
{
@@ -20,12 +21,19 @@ namespace OrarendAndroidApp
{
private Handler handler;
private Órarend órarend;
-
+
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.MainLayout);
handler = new Handler();
+ string[] list = FileList();
+ if (list.Contains("beallitasok"))
+ API.BeállításBetöltés(OpenFileInput("beallitasok"));
+ if (list.Contains("orarend"))
+ API.ÓrarendBetöltés(OpenFileInput("orarend"));
+ if (list.Contains("osztaly"))
+ API.OsztályBetöltés(OpenFileInput("osztaly"));
API.Frissítés().ContinueWith(t =>
{
handler.Post(() =>
@@ -55,7 +63,7 @@ namespace OrarendAndroidApp
tr1.AddView(textview);
};
API.HelyettesítésFrissítés().ContinueWith(t =>
- {
+ { //TODO: Ezt ne itt, ne így
handler.Post(() =>
{
TaskHiba(t);
@@ -95,7 +103,7 @@ namespace OrarendAndroidApp
}
}
});
- });
+ }); //TODO: Tárolja el a helyettesített órarendeket is valahogyan, akár külön osztály, hogy csak a változásokat tárolja
}
private TextView selected;
@@ -157,6 +165,8 @@ namespace OrarendAndroidApp
handler.Post(() => bar.Visibility = ViewStates.Visible);
API.Frissítés().ContinueWith(t => //TODO: Megjelenítés frissítése
{
+ API.ÓrarendMentés(OpenFileOutput("orarend", FileCreationMode.Private));
+ API.OsztályMentés(OpenFileOutput("osztaly", FileCreationMode.Private)); //TODO: Beállítások mentése
handler.Post(() => bar.Visibility = ViewStates.Gone);
});
break;
diff --git a/OrarendAndroidApp/Properties/AndroidManifest.xml b/OrarendAndroidApp/Properties/AndroidManifest.xml
index aa6ff5e..b19d5ec 100644
--- a/OrarendAndroidApp/Properties/AndroidManifest.xml
+++ b/OrarendAndroidApp/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
-
-
+
+
\ No newline at end of file