Пример #1
0
        internal void KurswahlenGymIst(Kurswahlen kurswahlenIst)
        {
            foreach (var schueler in this)
            {
                schueler.Kurse = new List <Kurswahl>();

                schueler.Kurse.AddRange((from k in kurswahlenIst
                                         where k.Nachname == schueler.Nachname
                                         where k.Vorname == schueler.Vorname
                                         where k.Geburtsdatum == schueler.Gebdat
                                         //where k.Klasse.StartsWith("G")
                                         select k).ToList());
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            List <string> aktSj = new List <string>();

            try
            {
                Console.WriteLine("Kurswahlen (Version 20200829)");
                Console.WriteLine("=============================");
                Console.WriteLine("");
                Console.WriteLine("Das Programm liest die Religionskurswahlen aus Atlantis aus und trägt sie in Untis als Kurswahl ein.");

                aktSj = new List <string>();

                aktSj.Add((DateTime.Now.Month >= 8 ? DateTime.Now.Year : DateTime.Now.Year - 1).ToString());
                aktSj.Add((DateTime.Now.Month >= 8 ? DateTime.Now.Year + 1 : DateTime.Now.Year).ToString());

                Periodes periodes = new Periodes(aktSj[0] + aktSj[1]);
                var      periode  = periodes.Count;

                Klasses   klasses   = new Klasses(aktSj[0] + aktSj[1], periode);
                Schuelers schuelers = new Schuelers(klasses, aktSj[0] + aktSj[1]);
                Fachs     fachs     = new Fachs(aktSj[0] + aktSj[1]);

                Unterrichts unterrichtsImKurssystem = new Unterrichts(schuelers, klasses, fachs, aktSj[0] + aktSj[1], periode);

                Kurswahlen kurswahlenIst = new Kurswahlen(aktSj[0] + aktSj[1], klasses, fachs, unterrichtsImKurssystem, periode);

                // Allen Schülern werden Gym-Wahlen zugewiesen

                //schuelers.KurswahlenGymIst(kurswahlenIst);

                // Für alle Nicht-Gym-Schüler werden die Religionskurswahlen hinzugefügt

                schuelers.ReliKurswahlenHinzufügenOderLöschen(unterrichtsImKurssystem, kurswahlenIst, aktSj[0] + aktSj[1], periode);

                Console.WriteLine("");

                Console.WriteLine("ENTER beendet das Programm");
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                Console.ReadKey();
            }
        }
Пример #3
0
        internal void ReliKurswahlenHinzufügenOderLöschen(Unterrichts unterrichts, Kurswahlen kurswahlenIst, string aktSJ, int periode)
        {
            foreach (var schueler in this)
            {
                if (true /*schueler.Anmeldename == "bm153842"*/)
                {
                    // Für jeden Schüler au0erhalb der Gym ...

                    if (schueler.Klasse != null)
                    {
                        if (!schueler.Klasse.StartsWith("G"))
                        {
                            // ... sofern in seiner Klasse Religionsunterricht angeboten wird ...

                            var reliunterrichtDerKlasseDesSchülers = (from u in unterrichts
                                                                      where u.Klasse.NameUntis == schueler.Klasse
                                                                      where (u.Fach.KürzelUntis.StartsWith("KR ") ||
                                                                             u.Fach.KürzelUntis.StartsWith("ER ") ||
                                                                             u.Fach.KürzelUntis == "KR" ||
                                                                             u.Fach.KürzelUntis == "ER")
                                                                      select u).FirstOrDefault();
                            if (reliunterrichtDerKlasseDesSchülers != null)
                            {
                                // ... und der Schüler sich nicht abgemeldet oder ab- und später wieder angemeldet hat ...

                                Kurswahl kurswahl = new Kurswahl();

                                if ((schueler.Reliabmeldung.Year == 1 || schueler.Relianmeldung > schueler.Reliabmeldung))
                                {
                                    // ... wird die Kurswahl hinzugefügt.

                                    kurswahl.StudentKurzname = schueler.Anmeldename;
                                    kurswahl.Geburtsdatum    = schueler.Gebdat;
                                    kurswahl.Nachname        = schueler.Nachname;
                                    kurswahl.Vorname         = schueler.Vorname;
                                    kurswahl.StudentId       = schueler.IdUntis;
                                    kurswahl.AlternativeCourses.Add(reliunterrichtDerKlasseDesSchülers.IdUntis.ToString() + "/" + reliunterrichtDerKlasseDesSchülers.Fach.IdUntis + "/1");
                                    kurswahl.Fach   = reliunterrichtDerKlasseDesSchülers.Fach.KürzelUntis;
                                    kurswahl.Klasse = schueler.Klasse;

                                    try
                                    {
                                        if ((from k in kurswahlenIst where k.StudentId == schueler.IdUntis select k).Count() == 0)
                                        {
                                            kurswahl.Number = 1;
                                        }
                                        else
                                        {
                                            kurswahl.Number = (from k in kurswahlenIst where k.StudentId == schueler.IdUntis select k.Number).Max() + 1;
                                        }
                                    }
                                    catch (Exception ex)
                                    {
                                        Console.WriteLine(ex);
                                        Console.ReadKey();
                                    }

                                    if (schueler.Kurse == null)
                                    {
                                        schueler.Kurse = new List <Kurswahl>();
                                    }
                                    schueler.Kurse.Add(kurswahl);

                                    // Wenn die Reli-Kurswahl in Untis noch nicht existiert, wird sie ergänzt:

                                    if (!(from k in kurswahlenIst
                                          where k.Fach == kurswahl.Fach
                                          where k.Klasse == kurswahl.Klasse
                                          where k.StudentId == kurswahl.StudentId
                                          select k).Any())
                                    {
                                        kurswahl.AktSj = aktSJ;
                                        kurswahl.InsertIntoStudentChoice(periode);
                                    }

                                    // Wenn die Relikurswahl existert, aber Deleted ist, wird sie wieder aktiviert:

                                    if ((from k in kurswahlenIst
                                         where k.Fach == kurswahl.Fach
                                         where k.Klasse == kurswahl.Klasse
                                         where k.StudentId == kurswahl.StudentId
                                         where k.Deleted == true
                                         select k).Any())
                                    {
                                        kurswahl.AktSj = aktSJ;
                                        schueler.UpdateStudentChoice(periode);
                                    }
                                }

                                // Wenn der Schüler den existierenden Religionskurs abgewählt hat, ...

                                else
                                {
                                    // ... und bereits eine Kurswahl besteht ...

                                    var kk = (from k in kurswahlenIst
                                              where k.Fach == reliunterrichtDerKlasseDesSchülers.Fach.KürzelUntis
                                              where k.Klasse == schueler.Klasse
                                              where k.StudentId == schueler.IdUntis
                                              select k).FirstOrDefault();

                                    if (kk != null)
                                    {
                                        // ... und die Kurswahl nicht bereits delted wurde ...

                                        if (!kk.Deleted)
                                        {
                                            // ... wird die Kurswahl gelöscht.

                                            schueler.DeleteStudentChoice(periode);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        //Console.WriteLine("Der Schüler " + schueler.Nachname + ", " + schueler.Vorname + "(" + schueler.IdAtlantis +"; " + schueler.IdUntis  + ") hat keine Klasse.");
                        //Console.ReadKey();
                    }
                }
            }
        }