Javítások

- Most már csak akkor nyitja meg a fájlokat, ha elkezdi a mentést (adatvesztést elkerülendő)
- A helyettesítéseknél most már több osztály is támogatott egyszerre
- A tanárt beírja az eredeti órából áthelyezésnél
- Osztály egyenlőség a nullokra is működik
- Megnyitáskor kétszeres frissítés javítva
- Az utolsó frissítést akkor is beállítja, ha nem sikerült, így nem fog folyamatosan próbálkozni offline
- A következő óránál most már a helyettesített adatokat mutatja
- Óra közben a "Jelenlegi óra" feliratot mutatja, nem a "következő"-t
- Ha nincs több óra, a következő napra görget, nem a maira
This commit is contained in:
Norbi Peti 2017-03-01 19:03:26 +01:00
parent 789df17422
commit ea8fb6d78f
3 changed files with 85 additions and 57 deletions

View file

@ -23,10 +23,10 @@ namespace Orarend
public static Settings Beállítások { get; private set; } = new Settings(); public static Settings Beállítások { get; private set; } = new Settings();
/// <summary> /// <summary>
/// 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 /// 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
/// <param name="órarendstream">A file stream, ahova mentse az adatokat, hogy ne kelljen külön meghívni</param> /// <param name="órarendstream">A file stream, ahova mentse az adatokat, hogy ne kelljen külön meghívni - Azért funkció, hogy elkerüljök az adatvesztést, mivel így csak a mentéskor nyitja meg</param>
/// <param name="osztálystream">A file stream, ahova mentse az adatokat, hogy ne kelljen külön meghívni</param> /// <param name="osztálystream">A file stream, ahova mentse az adatokat, hogy ne kelljen külön meghívni - Azért funkció, hogy elkerüljök az adatvesztést, mivel így csak a mentéskor nyitja meg</param>
/// </summary> /// </summary>
public static async Task Frissítés(Stream órarendstream, Stream osztálystream, Órarend ór = null) public static async Task Frissítés(Func<Stream> órarendstream, Func<Stream> osztálystream, Órarend ór = null)
{ {
try try
{ {
@ -118,16 +118,16 @@ namespace Orarend
} }
finally finally
{ {
ÓrarendMentés(órarendstream); ÓrarendMentés(órarendstream());
OsztályMentés(osztálystream); OsztályMentés(osztálystream());
} }
} }
/// <summary> /// <summary>
/// Frissíti a helyettesítéseket, naponta, indításkor vagy gombnyommásra frissítse (minden nap az első előtérbe kerüléskor) /// Frissíti a helyettesítéseket, naponta, indításkor vagy gombnyommásra frissítse (minden nap az első előtérbe kerüléskor)
/// <param name="s">A file stream, ahova mentse az ÓRARENDEKET, hogy ne kelljen külön meghívni</param> /// <param name="órarendstream">A file stream, ahova mentse az ÓRARENDEKET, hogy ne kelljen külön meghívni - Azért funkció, hogy elkerüljök az adatvesztést, mivel így csak a mentéskor nyitja meg</param>
/// </summary> /// </summary>
public static async Task HelyettesítésFrissítés(Stream s) public static async Task HelyettesítésFrissítés(Func<Stream> órarendstream)
{ {
if (Órarendek.Count == 0 || Osztályok.Length == 0) if (Órarendek.Count == 0 || Osztályok.Length == 0)
return; return;
@ -151,25 +151,33 @@ namespace Orarend
if (hét != Hét) if (hét != Hét)
continue; continue;
byte óraszám = byte.Parse(node.ChildNodes[1].InnerText); byte óraszám = byte.Parse(node.ChildNodes[1].InnerText);
Osztály osztály = Osztályok.Single(o => o.Azonosító.Contains(node.ChildNodes[2].InnerText)); var osztályok = node.ChildNodes[2].InnerText.Split(new string[] { ", " }, StringSplitOptions.None);
string csoport = node.ChildNodes[3].InnerText; foreach (string osztálynév in osztályok)
string óraaz = node.ChildNodes[4].InnerText;
string terem = node.ChildNodes[5].InnerText.Split(new string[] { " -> " }, StringSplitOptions.None).Last(); //Mindig az új termet tárolja el, ha változott
string tanár = node.ChildNodes[7].InnerText;
string[] megj = node.ChildNodes[8].InnerText.Split(' ');
string óranév = node.ChildNodes[9].InnerText;
DayOfWeek újnap = dátum.DayOfWeek;
byte újsorszám = óraszám;
if (megj.Length > 2)
{ {
újnap = DateTime.Parse(megj[1]).DayOfWeek; Osztály osztály = Osztályok.Single(o => o.Azonosító.Contains(osztálynév));
újsorszám = byte.Parse(megj[3].Trim('.')); var csoportok = node.ChildNodes[3].InnerText;
} int névindex= csoportok.IndexOf(osztálynév);
foreach (var órarend in (csoport == "Egész osztály" ? Órarendek : Órarendek.Where(ór => ór.Csoportok.Contains(csoport))).Where(ór => ór.Osztály == osztály)) int végeindex = csoportok.IndexOf(")", névindex >= 0 ? névindex : 0);
//foreach (var órarend in Órarendek.Where(ór => ór.Osztály == osztály && (csoport == "Egész osztály" || ór.Csoportok.Contains(csoport)))) - A probléma valószínűleg a referencia változások miatt volt, a serialization miatt, és hogy alapból nem a .Equals-ot futtatja le ==-kor string csoport = osztályok.Length == 1 ? csoportok : csoportok.Substring(névindex + osztálynév.Length + 1, végeindex - névindex - osztálynév.Length - 1);
{ string óraaz = node.ChildNodes[4].InnerText;
var helyettesítés = new Helyettesítés { EredetiNap = dátum.DayOfWeek, EredetiSorszám = óraszám, ÚjÓra = tanár == "elmarad" ? null : new Óra { Azonosító = óraaz, Csoportok = new string[] { csoport }, Terem = terem, Tanár = new Tanár { Név = tanár }, TeljesNév = óranév }, ÚjNap = újnap, ÚjSorszám = újsorszám }; string terem = node.ChildNodes[5].InnerText.Split(new string[] { " -> " }, StringSplitOptions.None).Last(); //Mindig az új termet tárolja el, ha változott
órarend.Helyettesítések.Add(helyettesítés); string tanár = node.ChildNodes[7].InnerText;
string[] megj = node.ChildNodes[8].InnerText.Split(' ');
string óranév = node.ChildNodes[9].InnerText;
DayOfWeek újnap = dátum.DayOfWeek;
byte újsorszám = óraszám;
if (megj.Length > 2)
{
újnap = DateTime.Parse(megj[1]).DayOfWeek;
újsorszám = byte.Parse(megj[3].Trim('.'));
}
foreach (var órarend in (csoport == "Egész osztály" ? Órarendek : Órarendek.Where(ór => ór.Csoportok.Contains(csoport))).Where(ór => ór.Osztály == osztály))
{
if (tanár == "")
tanár = órarend.Órák[(int)dátum.DayOfWeek - 1][óraszám - 1]?.Tanár.Név ?? "";
var helyettesítés = new Helyettesítés { EredetiNap = dátum.DayOfWeek, EredetiSorszám = óraszám, ÚjÓra = tanár == "elmarad" ? null : new Óra { Azonosító = óraaz, Csoportok = new string[] { csoport }, Terem = terem, Tanár = new Tanár { Név = tanár }, TeljesNév = óranév }, ÚjNap = újnap, ÚjSorszám = újsorszám };
órarend.Helyettesítések.Add(helyettesítés);
}
} }
} }
} }
@ -177,7 +185,7 @@ namespace Orarend
} }
finally finally
{ {
ÓrarendMentés(s); ÓrarendMentés(órarendstream());
} }
} }

View file

@ -25,17 +25,17 @@ namespace Orarend
public bool Equals(Osztály other) public bool Equals(Osztály other)
{ {
return Azonosító == other.Azonosító; return Azonosító == other?.Azonosító;
} }
public static bool operator==(Osztály a, Osztály b) public static bool operator==(Osztály a, Osztály b)
{ {
return a.Equals(b); return a?.Equals(b) ?? (object)b == null;
} }
public static bool operator!=(Osztály a, Osztály b) public static bool operator!=(Osztály a, Osztály b)
{ {
return !a.Equals(b); return !(a == b);
} }
public override bool Equals(object obj) public override bool Equals(object obj)

View file

@ -40,7 +40,6 @@ namespace OrarendAndroidApp
if (list.Contains("osztaly") && API.Osztályok == null) if (list.Contains("osztaly") && API.Osztályok == null)
API.OsztályBetöltés(OpenFileInput("osztaly"), e => Hiba("Hiba az osztályok betöltése során!\n" + e)); API.OsztályBetöltés(OpenFileInput("osztaly"), e => Hiba("Hiba az osztályok betöltése során!\n" + e));
timer = new Timer(CsengőTimer, null, new TimeSpan(0, 0, 1), new TimeSpan(0, 0, 1)); timer = new Timer(CsengőTimer, null, new TimeSpan(0, 0, 1), new TimeSpan(0, 0, 1));
frissítésHa1ÓraEltelt();
} }
private void órarendlistafrissítés() private void órarendlistafrissítés()
@ -99,7 +98,7 @@ namespace OrarendAndroidApp
menu.Enabled = false; menu.Enabled = false;
}; };
handler.Post(loadstart); handler.Post(loadstart);
API.HelyettesítésFrissítés(OpenFileOutput("orarend", FileCreationMode.Private)).ContinueWith(t => API.HelyettesítésFrissítés(() => OpenFileOutput("orarend", FileCreationMode.Private)).ContinueWith(t =>
{ {
handler.RemoveCallbacks(loadstart); handler.RemoveCallbacks(loadstart);
handler.Post(() => handler.Post(() =>
@ -110,8 +109,8 @@ namespace OrarendAndroidApp
{ {
órarendfrissítés(); órarendfrissítés();
Toast.MakeText(this, "Helyettesítések frissítve", ToastLength.Short).Show(); Toast.MakeText(this, "Helyettesítések frissítve", ToastLength.Short).Show();
utolsófrissítésplusz1óra = DateTime.Now + new TimeSpan(1, 0, 0);
} }
utolsófrissítésplusz1óra = DateTime.Now + new TimeSpan(1, 0, 0); //Mindenképpen állítsa be, hogy ne írja folyamatosan a hibát
}); });
}); });
} }
@ -126,22 +125,22 @@ namespace OrarendAndroidApp
menu.Enabled = false; menu.Enabled = false;
}; };
handler.Post(loadstart); handler.Post(loadstart);
API.Frissítés(OpenFileOutput("orarend", FileCreationMode.Private), OpenFileOutput("osztaly", FileCreationMode.Private), ór).ContinueWith(t => API.Frissítés(() => OpenFileOutput("orarend", FileCreationMode.Private), () => OpenFileOutput("osztaly", FileCreationMode.Private), ór).ContinueWith(t =>
{ {
handler.RemoveCallbacks(loadstart); handler.RemoveCallbacks(loadstart);
handler.Post(() => handler.Post(() =>
{ {
bar.Visibility = ViewStates.Gone; bar.Visibility = ViewStates.Gone;
órarendlistafrissítés(); órarendlistafrissítés();
HelyettesítésFrissítés(); HelyettesítésFrissítés();
if (TaskHiba(t)) if (TaskHiba(t))
{ {
if (ór == null || ór == órarend) if (ór == null || ór == órarend)
órarendfrissítés(); órarendfrissítés();
Toast.MakeText(this, (API.Órarendek.Count > 0 ? "Órarend" + (ór == null ? "ek" : "") + " és o" : "O") + "sztálylista frissítve", ToastLength.Short).Show(); Toast.MakeText(this, (API.Órarendek.Count > 0 ? "Órarend" + (ór == null ? "ek" : "") + " és o" : "O") + "sztálylista frissítve", ToastLength.Short).Show();
} }
}); });
}); });
} }
private string[] Napok = new string[6] { "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat" }; private string[] Napok = new string[6] { "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat" };
@ -176,8 +175,9 @@ namespace OrarendAndroidApp
addCell((j + 1).ToString(), Color.Black, tr); addCell((j + 1).ToString(), Color.Black, tr);
for (int i = 0; i < 6; i++) for (int i = 0; i < 6; i++)
{ {
var helyettesítés = órarend.Helyettesítések.FirstOrDefault(h => (int)h.EredetiNap - 1 == i && h.EredetiSorszám - 1 == j); var innenide = helyettesítésInnenIde(i, j);
var helyettesítésIde = órarend.Helyettesítések.FirstOrDefault(h => (int)h.ÚjNap - 1 == i && h.ÚjSorszám - 1 == j && h.ÚjÓra != null); //Ha az eredeti óra elmarad, és ide lesz helyezve egy másik, az áthelyezést mutassa var helyettesítés = innenide[0];
var helyettesítésIde = innenide[1];
//addCell(helyettesítés?.ÚjÓra?.EgyediNév ?? órarend.Órák[i][j]?.EgyediNév ?? "", helyettesítés == null ? Color.Black : Color.Red, tr, new int[2] { i, j }); //addCell(helyettesítés?.ÚjÓra?.EgyediNév ?? órarend.Órák[i][j]?.EgyediNév ?? "", helyettesítés == null ? Color.Black : Color.Red, tr, new int[2] { i, j });
addCell(helyettesítésIde != null ? helyettesítésIde.ÚjÓra.EgyediNév : helyettesítés != null ? helyettesítés.EredetiNap != helyettesítés.ÚjNap || helyettesítés.EredetiSorszám != helyettesítés.ÚjSorszám ? "Áthelyezve" : helyettesítés.ÚjÓra?.EgyediNév ?? "elmarad" : órarend.Órák[i][j]?.EgyediNév ?? "", helyettesítés == null ? Color.Black : Color.Red, tr, new int[2] { i, j }); addCell(helyettesítésIde != null ? helyettesítésIde.ÚjÓra.EgyediNév : helyettesítés != null ? helyettesítés.EredetiNap != helyettesítés.ÚjNap || helyettesítés.EredetiSorszám != helyettesítés.ÚjSorszám ? "Áthelyezve" : helyettesítés.ÚjÓra?.EgyediNév ?? "elmarad" : órarend.Órák[i][j]?.EgyediNév ?? "", helyettesítés == null ? Color.Black : Color.Red, tr, new int[2] { i, j });
} }
@ -197,6 +197,15 @@ namespace OrarendAndroidApp
selected = null; selected = null;
} }
private Helyettesítés[] helyettesítésInnenIde(int i, int j)
{
return new Helyettesítés[]
{
órarend.Helyettesítések.FirstOrDefault(h => (int)h.EredetiNap == i + 1 && h.EredetiSorszám == j + 1),
órarend.Helyettesítések.FirstOrDefault(h => (int)h.ÚjNap == i + 1 && h.ÚjSorszám == j + 1 && h.ÚjÓra != null) //Ha az eredeti óra elmarad, és ide lesz helyezve egy másik, az áthelyezést mutassa
};
}
private TextView selected; private TextView selected;
/// <summary> /// <summary>
/// Kiválasztja az adott órát /// Kiválasztja az adott órát
@ -212,8 +221,9 @@ namespace OrarendAndroidApp
Helyettesítés helyettesítésIde = null; Helyettesítés helyettesítésIde = null;
if (ij != null) if (ij != null)
{ {
helyettesítésInnen = órarend.Helyettesítések.FirstOrDefault(h => (int)h.EredetiNap == ij[0] + 1 && h.EredetiSorszám == ij[1] + 1); var innenide = helyettesítésInnenIde(ij[0], ij[1]);
helyettesítésIde = órarend.Helyettesítések.FirstOrDefault(h => (int)h.ÚjNap == ij[0] + 1 && h.ÚjSorszám == ij[1] + 1 && h.ÚjÓra != null); //Ha az eredeti óra elmarad, és ide lesz helyezve egy másik, az áthelyezést mutassa helyettesítésInnen = innenide[0];
helyettesítésIde = innenide[1];
} }
//if (ij == null || (óra = órarend.Órák[ij[0]][ij[1]] ?? ((helyettesítésIde = órarend.Helyettesítések.SingleOrDefault(h => (int)h.ÚjNap == ij[0] + 1 && h.ÚjSorszám == ij[1] + 1))?.ÚjÓra)) == null) //if (ij == null || (óra = órarend.Órák[ij[0]][ij[1]] ?? ((helyettesítésIde = órarend.Helyettesítések.SingleOrDefault(h => (int)h.ÚjNap == ij[0] + 1 && h.ÚjSorszám == ij[1] + 1))?.ÚjÓra)) == null)
if (ij == null || (óra = órarend.Órák[ij[0]][ij[1]] ?? (helyettesítésIde?.ÚjÓra)) == null) if (ij == null || (óra = órarend.Órák[ij[0]][ij[1]] ?? (helyettesítésIde?.ÚjÓra)) == null)
@ -246,7 +256,7 @@ namespace OrarendAndroidApp
? "Áthelyezve: " + Napok[(int)helyettesítésInnen.EredetiNap - 1] + " " + helyettesítésIde.EredetiSorszám + ". óra --> ide" ? "Áthelyezve: " + Napok[(int)helyettesítésInnen.EredetiNap - 1] + " " + helyettesítésIde.EredetiSorszám + ". óra --> ide"
+ (helyettesítésIde.ÚjÓra.EgyediNév != óra.EgyediNév ? "\nÓra: " + helyettesítésIde.ÚjÓra.EgyediNév : "") + (helyettesítésIde.ÚjÓra.EgyediNév != óra.EgyediNév ? "\nÓra: " + helyettesítésIde.ÚjÓra.EgyediNév : "")
+ (helyettesítésIde.ÚjÓra.Terem != óra.Terem ? "\nTerem: " + helyettesítésIde.ÚjÓra.Terem : "") + (helyettesítésIde.ÚjÓra.Terem != óra.Terem ? "\nTerem: " + helyettesítésIde.ÚjÓra.Terem : "")
+ ((óra.Tanár.Név != (helyettesítésIde.ÚjÓra.Tanár.Név == "" ? órarend.Órák[(int)helyettesítésIde.EredetiNap - 1][helyettesítésIde.EredetiSorszám - 1].Tanár.Név : helyettesítésIde.ÚjÓra.Tanár.Név)) ? "\nTanár: " + (óra.Tanár.Név == "" ? órarend.Órák[(int)helyettesítésIde.EredetiNap - 1][helyettesítésIde.EredetiSorszám - 1].Tanár.Név : helyettesítésIde.ÚjÓra.Tanár.Név) : "") //TODO: A tanár mező üres ("") + ((óra.Tanár.Név != (helyettesítésIde.ÚjÓra.Tanár.Név == "" ? órarend.Órák[(int)helyettesítésIde.EredetiNap - 1][helyettesítésIde.EredetiSorszám - 1].Tanár.Név : helyettesítésIde.ÚjÓra.Tanár.Név)) ? "\nTanár: " + (óra.Tanár.Név == "" ? órarend.Órák[(int)helyettesítésIde.EredetiNap - 1][helyettesítésIde.EredetiSorszám - 1].Tanár.Név : helyettesítésIde.ÚjÓra.Tanár.Név) : "")
+ (helyettesítésIde.ÚjÓra.Csoportok[0] != óra.Csoportok[0] ? "\nCsoport: " + helyettesítésIde.ÚjÓra.Csoportok.Aggregate((a, b) => a + ", " + b) : "") //ˇˇ De ha változott, akkor nem + (helyettesítésIde.ÚjÓra.Csoportok[0] != óra.Csoportok[0] ? "\nCsoport: " + helyettesítésIde.ÚjÓra.Csoportok.Aggregate((a, b) => a + ", " + b) : "") //ˇˇ De ha változott, akkor nem
: "") //Ha a pozicíó nem változott, a fentebbi rész már kiírta az adatait : "") //Ha a pozicíó nem változott, a fentebbi rész már kiírta az adatait
; ;
@ -337,6 +347,7 @@ namespace OrarendAndroidApp
return ret; return ret;
} }
private bool nincstöbbóra = false;
private void CsengőTimer(object state) private void CsengőTimer(object state)
{ {
handler.Post(() => handler.Post(() =>
@ -348,8 +359,10 @@ namespace OrarendAndroidApp
return; return;
} }
var most = DateTime.Now - DateTime.Today; var most = DateTime.Now - DateTime.Today;
//var most = new TimeSpan(8, 10, 0);
bool talált = false; bool talált = false;
var kovora = FindViewById<TextView>(Resource.Id.kovoraTV); var kovora = FindViewById<TextView>(Resource.Id.kovoraTV);
nincstöbbóra = false;
if (órarend.Órakezdetek[0] == TimeSpan.Zero) if (órarend.Órakezdetek[0] == TimeSpan.Zero)
{ //Még nincsenek beállítva a kezdetek { //Még nincsenek beállítva a kezdetek
kezdveg.Text = "Betöltés"; kezdveg.Text = "Betöltés";
@ -359,12 +372,14 @@ namespace OrarendAndroidApp
for (int i = 0; i < órarend.Órakezdetek.Length - 1; i++) for (int i = 0; i < órarend.Órakezdetek.Length - 1; i++)
{ {
var vége = órarend.Órakezdetek[i].Add(new TimeSpan(0, 45, 0)); var vége = órarend.Órakezdetek[i].Add(new TimeSpan(0, 45, 0));
bool becsengetés;
if (most > órarend.Órakezdetek[i]) if (most > órarend.Órakezdetek[i])
{ {
if (most < vége) if (most < vége)
{ {
kezdveg.Text = "Kicsengetés: " + (vége - most).ToString("hh\\:mm\\:ss"); kezdveg.Text = "Kicsengetés: " + (vége - most).ToString("hh\\:mm\\:ss");
talált = true; talált = true;
becsengetés = false;
} }
else else
continue; continue;
@ -374,26 +389,29 @@ namespace OrarendAndroidApp
kezdveg.Text = "Becsengetés: " + (órarend.Órakezdetek[i] - most).ToString("hh\\:mm\\:ss"); kezdveg.Text = "Becsengetés: " + (órarend.Órakezdetek[i] - most).ToString("hh\\:mm\\:ss");
talált = true; talált = true;
kovora.Visibility = ViewStates.Invisible; kovora.Visibility = ViewStates.Invisible;
becsengetés = true;
} }
int x = (int)DateTime.Today.DayOfWeek - 1; int x = (int)DateTime.Today.DayOfWeek - 1;
Óra óra; Óra óra;
if (x != -1 && x < 6 && (óra = órarend.Órák[x][i]) != null) var innenide = helyettesítésInnenIde(x, i);
if (x != -1 && x < 6 && (óra = innenide[1] != null ? innenide[1].ÚjÓra : innenide[0] != null ? innenide[0].EredetiNap != innenide[0].ÚjNap || innenide[0].EredetiSorszám != innenide[0].ÚjSorszám ? null : innenide[0].ÚjÓra : órarend.Órák[x][i]) != null)
{ //-1: Vasárnap { //-1: Vasárnap
kovora.Text = "Következő óra: " + óra.EgyediNév + "\n" + óra.Terem + "\n" + óra.Tanár.Név + "\n" + óra.Csoportok.Aggregate((a, b) => a + ", " + b); kovora.Text = (becsengetés ? "Következő" : "Jelenlegi") + " óra: " + óra.EgyediNév + "\n" + óra.Terem + "\n" + óra.Tanár.Név + "\n" + óra.Csoportok.Aggregate((a, b) => a + ", " + b);
kovora.Visibility = ViewStates.Visible; kovora.Visibility = ViewStates.Visible;
kezdveg.Visibility = ViewStates.Visible; kezdveg.Visibility = ViewStates.Visible;
break;
} }
else else
{ {
kovora.Visibility = ViewStates.Invisible; kovora.Visibility = ViewStates.Invisible;
kezdveg.Visibility = ViewStates.Invisible; kezdveg.Visibility = ViewStates.Invisible;
} }
break;
} }
if (!talált) if (!talált)
{ {
kezdveg.Visibility = ViewStates.Invisible; kezdveg.Visibility = ViewStates.Invisible;
kovora.Visibility = ViewStates.Invisible; kovora.Visibility = ViewStates.Invisible;
nincstöbbóra = true;
} }
}); });
} }
@ -432,7 +450,9 @@ namespace OrarendAndroidApp
private void MaiNaphozGörgetés() private void MaiNaphozGörgetés()
{ {
var x = DateTime.Today.DayOfWeek == DayOfWeek.Sunday ? DayOfWeek.Monday : DateTime.Today.DayOfWeek; var x = DateTime.Today.DayOfWeek;
if (nincstöbbóra) x++;
x = x == DayOfWeek.Sunday ? DayOfWeek.Monday : x;
var table = FindViewById<TableLayout>(Resource.Id.tableLayout1); var table = FindViewById<TableLayout>(Resource.Id.tableLayout1);
if (table.ChildCount == 0) if (table.ChildCount == 0)
return; return;