Exemple #1
0
        private AddOrError GetAddOrError(int?personId, int?leistungId)
        {
            if (!hasPerson())
            {
                return(new AddOrError(HttpStatusCode.Unauthorized));
            }
            if (personId == null)
            {
                return(new AddOrError(HttpStatusCode.BadRequest));
            }
            if (leistungId == null)
            {
                return(new AddOrError(HttpStatusCode.BadRequest));
            }
            Person person = db.PersonSet.Find(personId);

            if (person == null)
            {
                return(new AddOrError(HttpStatusCode.BadRequest));
            }
            Leistung leistung = db.LeistungSet.Find(leistungId);

            if (leistung == null)
            {
                return(new AddOrError(HttpStatusCode.BadRequest));
            }
            return(new AddOrError(new Add()
            {
                Person = person, Leistung = leistung
            }));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Leistung leistung = db.LeistungSet.Find(id);

            db.LeistungSet.Remove(leistung);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #3
0
 // Gibt einen String zurück, der alle Daten des PKW Objektes in einer Textzeile enthält.
 // Die einzelnen Datenelemente sind durch das Zeichen ";" coneinander getrennt
 public override String ToString()
 {
     return
         (base.ToString() + "; " +       // Die Daten der Basisklasse in einen String ausgeben
          Hubraum.ToString() + "; " +    // Die PKW spezifischen Daten werden an die Daten der Basisklasse angehängt
          Leistung.ToString() + "; " +
          Schadstoffklasse.ToString());
 }
        private void AddNotenTextBox(Leistung l, int row, int column, bool italic = false, CellEditorTag tag = null, bool useeditor = false)
        {
            TextBox tb = new TextBox();

            if (l == null)
            {
                tb.Text = "";
            }
            else
            {
                tb.Text    = l.Notenstufe.ToString();
                tb.ToolTip = $"Erhoben am: {l.Erhebungsdatum} \r\n" +
                             (l.LetzteÄnderung != null ? $"Letzte Änderung: {l.LetzteÄnderung} \r\n" : "");
            }
            tb.TextAlignment     = TextAlignment.Center;
            tb.VerticalAlignment = VerticalAlignment.Center;
            tb.Margin            = new Thickness(MARGIN);
            tb.IsReadOnly        = true;

            if (tag != null)
            {
                tb.Tag = tag;
                if (useeditor)
                {
                    tb.MouseDoubleClick += (s, e) =>
                    {
                        TextBox sender = s as TextBox;
                        if (sender == null)
                        {
                            return;
                        }

                        CellEditorTag ctag = sender.Tag as CellEditorTag;
                        if (ctag == null)
                        {
                            return;
                        }

                        if (new LeistungsEditor(ctag).ShowDialog() == true)
                        {
                            UpdateNotenGrid();
                        }
                    }
                }
                ;
            }

            if (italic)
            {
                tb.FontStyle = FontStyles.Italic;
            }

            gNoten.Children.Add(tb);

            Grid.SetRow(tb, row);
            Grid.SetColumn(tb, column);
        }
 public ActionResult Edit([Bind(Include = "Id,Bezeichnung,Preis")] Leistung leistung)
 {
     if (ModelState.IsValid)
     {
         db.Entry(leistung).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(leistung));
 }
        public ActionResult Create([Bind(Include = "Id,Bezeichnung,Preis")] Leistung leistung)
        {
            if (ModelState.IsValid)
            {
                db.LeistungSet.Add(leistung);
                db.SaveChanges();
                return(RedirectToAction("Index", "Mitarbeiter"));
            }

            return(View(leistung));
        }
Exemple #7
0
        public void SetMode(CellEditorTag tag)
        {
            CLeistung = tag.Leistung;
            Mode      = tag.Mode;

            if (Mode == DialogMode.Neu)
            {
                CLeistung = new Leistung();

                if (tag.Leistungsart != null)
                {
                    Leistungsart = tag.Leistungsart;
                }
                else
                {
                    Leistungsart = LstLeistungsarten.FirstOrDefault();
                }


                if (tag.SchuelerKlasse != null)
                {
                    SchuelerKlasse = tag.SchuelerKlasse;
                }
                else
                {
                    SchuelerKlasse = LstSchuelerKlassen.FirstOrDefault();
                }

                UFachLehrer = LstUnterrichtsfachLehrer.FirstOrDefault();

                if (tag.Unterrichtsfach != null)
                {
                    UFachLehrer ufl = DBZugriff.Current.SelectFirstOrDefault <UFachLehrer>(x => x.Unterrichtsfach == tag.Unterrichtsfach);
                    if (ufl != null)
                    {
                        UFachLehrer = ufl;
                    }
                }

                Notenstufe     = 1;
                Erhebungsdatum = DateTime.Now;

                //Updaten
                OnPropertyChanged(nameof(LstUnterrichtsfachLehrer));
                OnPropertyChanged(nameof(LstSchuelerKlassen));
            }
        }
        // GET: Leistungs/Edit/5
        public ActionResult Edit(int?id)
        {
            if (!hasPerson())
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Leistung leistung = db.LeistungSet.Find(id);

            if (leistung == null)
            {
                return(HttpNotFound());
            }
            return(View(leistung));
        }
Exemple #9
0
        // GET: Katalog/Abwählen/5
        public ActionResult Deselect(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (!hasPerson())
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Leistung leistung = db.LeistungSet.Find(id);

            if (leistung == null)
            {
                return(HttpNotFound());
            }
            EingeloggtePerson.VerfuegtUeber.Remove(leistung);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #10
0
            internal void InsertTest()
            {
                Schule schule = new Schule()
                {
                    Bez = "EDV-Schule",//"TestSchule"+DateTime.Now.Millisecond,
                };

                schule.Speichern();

                Lehrer leh = new Lehrer()
                {
                    Vorname  = "Klaus",
                    Nachname = "Reuther",
                    Kuerzel  = "BAR",
                };

                leh.Speichern();

                Klasse kl = new Klasse()
                {
                    Bez           = "BFI12A",//"TKL1A"+ DateTime.Now.Millisecond,
                    SJ            = ViewModel.Tool.CURRENTSJ,
                    Schule        = schule,
                    Klassenleiter = leh,
                    StellvertretenderKlassenleiter = leh,
                };

                kl.Speichern();

                Zeugnisfach zf = new Zeugnisfach()
                {
                    Bez                 = "TFBAN",
                    Fachart             = Fachart.Pflichtfach,
                    Pos                 = 1,
                    Vorrueckungsfach    = true,
                    AbschliessendesFach = true,
                    Klasse              = kl,
                };

                zf.Speichern();
                Zeugnisfach zf2 = new Zeugnisfach()
                {
                    Bez                 = "Anwendungsentwicklung",
                    Fachart             = Fachart.Wahlpflichtfach,
                    Pos                 = 2,
                    Vorrueckungsfach    = true,
                    AbschliessendesFach = true,
                    Klasse              = kl,
                };

                zf2.Speichern();

                Unterrichtsfach uf = new Unterrichtsfach()
                {
                    Bez         = "TFBAN1",
                    Pos         = 1,
                    Stunden     = 6,
                    Zeugnisfach = zf,
                };

                uf.Speichern();
                Unterrichtsfach uf2 = new Unterrichtsfach()
                {
                    Bez         = "TFBAN2",
                    Pos         = 1,
                    Stunden     = 4,
                    Zeugnisfach = zf,
                };

                uf2.Speichern();
                Unterrichtsfach uf2B = new Unterrichtsfach()
                {
                    Bez         = "C#",
                    Pos         = 1,
                    Stunden     = 4,
                    Zeugnisfach = zf2,
                };

                uf2B.Speichern();

                UFachLehrer ufl = new UFachLehrer()
                {
                    Lehrer          = leh,
                    Unterrichtsfach = uf,
                    Stunden         = uf.Stunden
                };

                ufl.Speichern();
                UFachLehrer ufl2 = new UFachLehrer()
                {
                    Lehrer          = leh,
                    Unterrichtsfach = uf2,
                    Stunden         = uf.Stunden
                };

                ufl2.Speichern();
                UFachLehrer ufl2B = new UFachLehrer()
                {
                    Lehrer          = leh,
                    Unterrichtsfach = uf2B,
                    Stunden         = uf.Stunden
                };

                ufl2B.Speichern();


                Schueler s = new Schueler()
                {
                    Vorname      = "Hans",//"VornameSchüler"+DateTime.Now.Millisecond,
                    Nachname     = "Bauer",
                    Geburtsdatum = new DateTime(2000, 1, 1),
                    Geschlecht   = Geschlecht.M,
                    Konfession   = Konfession.BL,
                };

                s.Speichern();

                SchuelerKlasse sk = new SchuelerKlasse()
                {
                    Klasse   = kl,
                    Schueler = s,
                };

                sk.Speichern();

                Schueler s2 = new Schueler()
                {
                    Vorname      = "Harry",//"VornameSchüler" + (DateTime.Now.Millisecond+10),
                    Nachname     = "Müller",
                    Geburtsdatum = new DateTime(2001, 1, 1),
                    Geschlecht   = Geschlecht.M,
                    Konfession   = Konfession.BL,
                };

                s2.Speichern();
                SchuelerKlasse sk2 = new SchuelerKlasse()
                {
                    Klasse   = kl,
                    Schueler = s2,
                };

                sk2.Speichern();


                Leistungsgruppe lg = new Leistungsgruppe()
                {
                    Bez     = "Schriftlich",
                    Gewicht = 2,
                };

                lg.Speichern();
                Leistungsgruppe lg2 = new Leistungsgruppe()
                {
                    Bez     = "Mündlich",
                    Gewicht = 1,
                };

                lg2.Speichern();

                Leistungsart la = new Leistungsart()
                {
                    Bez        = "Schulaufgabe",
                    Gewichtung = 2,
                    Gruppe     = lg,
                };

                la.Speichern();
                Leistungsart la2 = new Leistungsart()
                {
                    Bez        = "Stegreifaufgabe",
                    Gewichtung = 1,
                    Gruppe     = lg,
                };

                la2.Speichern();
                Leistungsart la3 = new Leistungsart()
                {
                    Bez        = "Abfrage",
                    Gewichtung = 1,
                    Gruppe     = lg2,
                };

                la3.Speichern();

                Leistung lei = new Leistung()
                {
                    Erhebungsdatum = DateTime.Now,
                    Notenstufe     = 1,
                    Tendenz        = Tendenz.UP,
                    LetzteÄnderung = DateTime.Now,
                    Leistungsart   = la,
                    SchuelerKlasse = sk,
                    UFachLehrer    = ufl
                };

                lei.Speichern();
                Leistung lei2 = new Leistung()
                {
                    Erhebungsdatum = DateTime.Now,
                    Notenstufe     = 3,
                    Tendenz        = Tendenz.UP,
                    LetzteÄnderung = DateTime.Now,
                    Leistungsart   = la2,
                    SchuelerKlasse = sk,
                    UFachLehrer    = ufl
                };

                lei2.Speichern();
                Leistung lei3 = new Leistung()
                {
                    Erhebungsdatum = DateTime.Now,
                    Notenstufe     = 2,
                    Tendenz        = Tendenz.UP,
                    LetzteÄnderung = DateTime.Now,
                    Leistungsart   = la2,
                    SchuelerKlasse = sk,
                    UFachLehrer    = ufl
                };

                lei3.Speichern();
                Leistung lei4 = new Leistung()
                {
                    Erhebungsdatum = DateTime.Now,
                    Notenstufe     = 3,
                    Tendenz        = Tendenz.UP,
                    LetzteÄnderung = DateTime.Now,
                    Leistungsart   = la3,
                    SchuelerKlasse = sk,
                    UFachLehrer    = ufl
                };

                lei4.Speichern();

                Leistung leiB = new Leistung()
                {
                    Erhebungsdatum = DateTime.Now,
                    Notenstufe     = 3,
                    Tendenz        = Tendenz.UP,
                    LetzteÄnderung = DateTime.Now,
                    Leistungsart   = la,
                    SchuelerKlasse = sk,
                    UFachLehrer    = ufl2
                };

                leiB.Speichern();
                Leistung lei2B = new Leistung()
                {
                    Erhebungsdatum = DateTime.Now,
                    Notenstufe     = 1,
                    Tendenz        = Tendenz.UP,
                    LetzteÄnderung = DateTime.Now,
                    Leistungsart   = la,
                    SchuelerKlasse = sk,
                    UFachLehrer    = ufl2B
                };

                lei2B.Speichern();
                Leistung lei2C = new Leistung()
                {
                    Erhebungsdatum = DateTime.Now,
                    Notenstufe     = 3,
                    Tendenz        = Tendenz.UP,
                    LetzteÄnderung = DateTime.Now,
                    Leistungsart   = la,
                    SchuelerKlasse = sk,
                    UFachLehrer    = ufl2B
                };

                lei2C.Speichern();
            }
 private void InternalThrowEx(Leistung l, string attr, object attrvalue)
 {
     throw new ArgumentException($"Fehler der Codierung von Leistung SchülerName['{l?.SchuelerKlasse?.Schueler?.Nachname} {l?.SchuelerKlasse?.Schueler?.Vorname}']: Fehlerhaftes Attribut '{attr}'='{attrvalue}'");
 }
Exemple #12
0
 public override string ToString()
 {
     return($"Hersteller: {Hersteller}\t\tName: {Name}\t\tLeistung: {Leistung.ToString()}");
 }
Exemple #13
0
        private static void RunTest()
        {
            try
            {
                Schule schule = new Schule()
                {
                    Bez = "TestSchule",
                };
                schule.Speichern();

                Lehrer leh = new Lehrer()
                {
                    Vorname  = "VorTest",
                    Nachname = "NachTest",
                    Kürzel   = "TL",
                };
                leh.Speichern();

                Klasse kl = new Klasse()
                {
                    Bez           = "TKL1A",
                    SJ            = 2017,
                    Schule        = schule,
                    Klassenleiter = leh,
                    StellvertretenderKlassenleiter = leh,
                };
                kl.Speichern();

                Zeugnisfach zf = new Zeugnisfach()
                {
                    Bez                 = "TestAbschlussFach",
                    Fachart             = "TestFachArt",
                    Pos                 = 1,
                    Vorrueckungsfach    = true,
                    AbschliessendesFach = true,
                    Klasse              = kl,
                };
                zf.Speichern();

                Unterrichtsfach uf = new Unterrichtsfach()
                {
                    Bez         = "TestUnterichtsFach",
                    Pos         = 1,
                    Stunden     = 6,
                    Zeugnisfach = zf,
                };
                uf.Speichern();

                UFachLehrer ufl = new UFachLehrer()
                {
                    Lehrer          = leh,
                    Unterrichtsfach = uf,
                    Stunden         = uf.Stunden
                };
                ufl.Speichern();


                Schueler s = new Schueler()
                {
                    Vorname      = "VorTestS",
                    Nachname     = "NachTestS",
                    Geburtsdatum = new DateTime(2000, 1, 1),
                    Geschlecht   = Geschlecht.M,
                    Konfession   = Konfession.NONE,
                };
                s.Speichern();

                SchuelerKlasse sk = new SchuelerKlasse()
                {
                    Klasse   = kl,
                    Schueler = s,
                };
                sk.Speichern();

                Leistungsart la = new Leistungsart()
                {
                    Bez        = "Schulaufgabe",
                    Gewichtung = 2,
                    Gruppe     = "S",
                };
                la.Speichern();

                Leistungsgruppe lg = new Leistungsgruppe()
                {
                    Bez          = "Schriftlich",
                    Gewicht      = "2",
                    Leistungsart = la
                };
                lg.Speichern();

                Leistung lei = new Leistung()
                {
                    Erhebungsdatum = DateTime.Now,
                    Notenstufe     = 1,
                    Tendenz        = Tendenz.UP,
                    LetzteÄnderung = DateTime.Now,
                    Leistungsart   = la,
                    SchuelerKlasse = sk,
                };
                lei.Speichern();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        /// <summary>
        /// Baut den Inhalt des Notengrids auf
        /// WARNUNG: Methode ist nicht optimiert! Bei vielen Einträgen kann es eventl zu UI-Verzögerungen kommen, da nur der UI-Thread genutzt wird
        /// </summary>
        private void BuildContent()
        {
            List <Zeugnisfach> lstzfs = _vm.GetZFs();

            int currentrow = HEADER_ROWS - 1;

            foreach (Schueler s in _vm.GetSchueler())
            {
                gNoten.RowDefinitions.Add(new RowDefinition()
                {
                    Height = new GridLength(1, GridUnitType.Auto)
                });
                currentrow++;
                AddTextBlock(s.Nachname + " " + s.Vorname, currentrow, 0, 1, DESC_COLUMNS);


                int             currentrowschueler = currentrow;
                List <Leistung> schuelerleistungen = _vm.GetNoten(s);
                List <int>      zfNoten            = new List <int>();

                foreach (Zeugnisfach zf in lstzfs)
                {
                    gNoten.RowDefinitions.Add(new RowDefinition()
                    {
                        Height = new GridLength(1, GridUnitType.Auto)
                    });
                    currentrow++;
                    AddTextBlock(zf.Bez, currentrow, 1, 1, DESC_COLUMNS - 1);
                    int currentrowzf = currentrow;
                    List <Tuple <Unterrichtsfach, double> > ufNoten = new List <Tuple <Unterrichtsfach, double> >();

                    foreach (Unterrichtsfach uf in zf.Unterrichtsfaecher.Where(x => x.Active == true).OrderBy(x => x.Bez).ToList())
                    {
                        gNoten.RowDefinitions.Add(new RowDefinition()
                        {
                            Height = new GridLength(1, GridUnitType.Auto)
                        });
                        currentrow++;
                        AddTextBlock(uf.Bez, currentrow, 2, 1, DESC_COLUMNS - 2);

                        List <Leistung> lstleistungenuf = new List <Leistung>();

                        foreach (ColumnSpecification cs in lstcspec.Where(x => x.ColumnBez != null)
                                 .OrderBy(x => x.ColumnIndex)
                                 .ToList())
                        {
                            //Einzelne Noten
                            Leistung l = schuelerleistungen.FindAll(x => x.Leistungsart == cs.La && x.UFachLehrer.Unterrichtsfach == uf).
                                         OrderBy(x => x.Erhebungsdatum).ToList().ElementAtOrDefault((int)cs.ColumnBez - 1);
                            if (l == null) //Neu anlegbar
                            {
                                AddNotenTextBox(null, currentrow, cs.ColumnIndex, false, new CellEditorTag()
                                {
                                    Mode            = DialogMode.Neu,
                                    Leistungsart    = cs.La,
                                    Unterrichtsfach = uf,
                                    SchuelerKlasse  = s.SchuelerKlassen.Where(x => x.Active == true && x.Klasse == _vm.CurrentKlasse).FirstOrDefault(),
                                }, true);
                                continue;
                            }

                            AddNotenTextBox(l, currentrow, cs.ColumnIndex, false, new CellEditorTag()
                            {
                                Mode           = DialogMode.Aendern,
                                Leistung       = l,
                                SchuelerKlasse = s.SchuelerKlassen.Where(x => x.Active == true && x.Klasse == _vm.CurrentKlasse).FirstOrDefault(),
                            }, true);


                            lstleistungenuf.Add(l);
                        }
                        //TeilNoten Leistungsarten
                        foreach (ColumnSpecification cs in lstcspec.Where(x => x.ColumnBez == null))
                        {
                            List <Leistung> lstlei = schuelerleistungen.FindAll(x => x.Leistungsart == cs.La && x.UFachLehrer.Unterrichtsfach == uf).ToList();
                            if (lstlei.Count == 0)
                            {
                                continue;
                            }
                            AddNotenTextBox(_vm.CalcNoteDouble(lstlei), currentrow, cs.ColumnIndex, true);
                        }

                        //GesamtNote UF
                        double ufnote = _vm.CalcNoteDouble(lstleistungenuf);
                        AddNotenTextBox(ufnote, currentrow, gNoten.ColumnDefinitions.Count - 1, true);

                        if (ufnote != 0)
                        {
                            ufNoten.Add(new Tuple <Unterrichtsfach, double>(uf, ufnote));
                        }
                    }

                    //Gesamtnote ZF
                    double zfgesnote = _vm.CalcNoteDoubleZF(ufNoten);
                    AddNotenTextBox(zfgesnote, currentrowzf, gNoten.ColumnDefinitions.Count - 1, true);

                    if (zfgesnote != 0)
                    {
                        zfNoten.Add((int)Math.Round(zfgesnote));
                    }
                }

                //GesamtNote Schüler
                AddNotenTextBox(_vm.CalcNoteDoubleSchueler(zfNoten), currentrowschueler, gNoten.ColumnDefinitions.Count - 1, true, true);
            }
        }