diff --git a/Orarend/API.cs b/Orarend/API.cs
index 4042ef2..43a59c6 100644
--- a/Orarend/API.cs
+++ b/Orarend/API.cs
@@ -72,25 +72,29 @@ namespace Orarend
int x = int.Parse(node.FirstChild.InnerText) - 1;
órarend.Órakezdetek[x] = TimeSpan.Parse(node.FirstChild.Attributes["title"].Value.Split('-')[0].Trim());
for (int i = 0; i < 5; i++) //Napok
- { //TODO: for ciklus az egy időben tartott órákhoz
+ {
var óranode = node.ChildNodes[i + 1].FirstChild;
var óra = (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i][x];
if (óranode.ChildNodes.Count == 0)
continue;
- var csoport = óranode.FirstChild.InnerText.TrimEnd(':');
- if (csoport != "Egész osztály" && !órarend.Csoportok.Contains(csoport))
- continue;
- if (óra == null)
- (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i][x] = óra = new Óra();
- óra.Csoportok = new string[] { csoport }; //Az állandó órarendben osztályonként csak egy csoport van egy órán
- óra.AzonosÃtó = óranode.ChildNodes[2].InnerText;
- óra.TeljesNév = óranode.ChildNodes[2].Attributes["title"].Value;
- óra.Terem = óranode.ChildNodes[3].InnerText.Trim(' ', '(', ')');
- óra.Tanár = new Tanár
+ for (int j = 0; j < óranode.ChildNodes.Count; j += 6)
{
- AzonosÃtó = óranode.ChildNodes[4].InnerText,
- Név = óranode.ChildNodes[4].Attributes["title"].Value
- };
+ var csoport = óranode.ChildNodes[j].InnerText.TrimEnd(':');
+ if (csoport != "Egész osztály" && !órarend.Csoportok.Contains(csoport))
+ continue;
+ if (óra == null)
+ (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i][x] = óra = new Óra();
+ óra.Csoportok = new string[] { csoport }; //Az állandó órarendben osztályonként csak egy csoport van egy órán
+ óra.AzonosÃtó = óranode.ChildNodes[j + 2].InnerText;
+ óra.TeljesNév = óranode.ChildNodes[j + 2].Attributes["title"].Value;
+ óra.Terem = óranode.ChildNodes[j + 3].InnerText.Trim(' ', '(', ')');
+ óra.Tanár = new Tanár
+ {
+ AzonosÃtó = óranode.ChildNodes[j + 4].InnerText,
+ Név = óranode.ChildNodes[j + 4].Attributes["title"].Value
+ };
+ break;
+ }
}
break;
}
@@ -133,9 +137,16 @@ namespace Orarend
s.CopyTo(ms);
if (ms.Length > 2)
{
- ms.Seek(0, SeekOrigin.Begin);
- var serializer = new DataContractJsonSerializer(typeof(T));
- return (T)serializer.ReadObject(ms);
+ try
+ {
+ ms.Seek(0, SeekOrigin.Begin);
+ var serializer = new DataContractJsonSerializer(typeof(T));
+ return (T)serializer.ReadObject(ms);
+ }
+ catch
+ {
+ return default(T);
+ }
}
return default(T);
}
@@ -174,7 +185,7 @@ namespace Orarend
}
}
- private static void ÓrarendMentés(Stream s)
+ public static void ÓrarendMentés(Stream s)
{
mentés(s, Órarendek.ToArray());
}
diff --git a/Orarend/Óra.cs b/Orarend/Óra.cs
index 4f34963..0e61d0e 100644
--- a/Orarend/Óra.cs
+++ b/Orarend/Óra.cs
@@ -19,6 +19,7 @@ namespace Orarend
///
/// Az órán résztvevő csoportok
///
+ [DataMember]
public string[] Csoportok { get; set; }
public string AzonosÃtó
diff --git a/OrarendAndroidApp/EditActivity.cs b/OrarendAndroidApp/EditActivity.cs
index 307a0a7..b6a20a5 100644
--- a/OrarendAndroidApp/EditActivity.cs
+++ b/OrarendAndroidApp/EditActivity.cs
@@ -10,6 +10,7 @@ using Android.Runtime;
using Android.Views;
using Android.Widget;
using Orarend;
+using Android.Graphics;
namespace OrarendAndroidApp
{
@@ -39,6 +40,35 @@ namespace OrarendAndroidApp
FindViewById(Resource.Id.csoportokEditText).Text = órarend.Csoportok.Aggregate((a, b) => a + " " + b);
}
FindViewById