public void AddNewGrade(string grade, string wage)
        {
            if (!isEditing)
            {
                //Dodanie oceny do bazy danych
                int itemId;
                using (var context = new StudentAppContext())
                {
                    DBSubject dbs    = context.DBSubjects.FirstOrDefault(x => x.SubjectName == chosenSubject.SubjectName);
                    DBMark    dbmark = new DBMark(); //{ Mark = int.Parse(Grade), Date = DateTime.Now, DBSubject = dbs};
                    dbmark.Mark      = double.Parse(Grade);
                    dbmark.Date      = DateTime.Now;
                    dbmark.DBSubject = dbs;
                    dbmark.Subject   = chosenSubject.SubjectName;
                    dbs.Marks.Add(dbmark);
                    //context.Entry(dbs).State = EntityState.Modified;
                    context.SaveChanges();

                    var ostatniObiekt = context.DBMarks.OrderByDescending(x => x.DBMarkId).FirstOrDefault();
                    itemId = ostatniObiekt.DBMarkId;
                }
                chosenSubject.Grades.Add(new GradeModel {
                    GradeId = itemId, Date = DateTime.Now, GradeValue = Convert.ToDouble(Grade), Wage = Convert.ToDouble(Wage), Type = SelectedType
                });
            }
            else
            {
                var listaPrzedmiotow = Subjects.ToList();
                foreach (SubjectModel przedmiot in listaPrzedmiotow)
                {
                    var oceny = przedmiot.Grades.ToList();
                    foreach (GradeModel ocena in oceny)
                    {
                        if (gradeIndex == ocena.GradeId)
                        {
                            ocena.GradeValue = double.Parse(grade);
                            ocena.Wage       = double.Parse(wage);
                            Subjects.Refresh();
                        }
                    }
                }

                //Edycja oceny w bazie danych
                using (var context = new StudentAppContext())
                {
                    DBMark dbm = context.DBMarks.FirstOrDefault(x => x.DBMarkId == gradeIndex);
                    dbm.Mark = double.Parse(grade);
                    context.SaveChanges();
                }

                isEditing = false;
            }

            Grade           = "";
            Wage            = "";
            selectedType    = "inne";
            IsDialogOpen    = false;
            HelperTextGrade = "";
        }
        public void AddSubject()
        {
            if (NewSubject.Length > 0 && !Subjects.Any(n => n.SubjectName == NewSubject))
            {
                //Zapisanie przedmiotu do bazy danych
                var dbsubject = new DBSubject {
                    SubjectName = newSubject
                };
                using (var context = new StudentAppContext())
                {
                    context.DBSubjects.Add(dbsubject);

                    context.SaveChanges();
                }
                Subjects.Add(new SubjectModel {
                    SubjectName = NewSubject, Grades = new BindableCollection <GradeModel>()
                });
                NewSubject = "";
            }
        }
        public void RemoveSubject()
        {
            if (SelectedItemToRemove != -1)
            {
                var subject = Subjects.ElementAt(SelectedItemToRemove); // pobieram przedmiot do usunięcia
                Subjects.Remove(subject);

                //Usunięcie przedmiotu i jego ocen z bazy
                using (var context = new StudentAppContext())
                {
                    DBSubject dbsubject = context.DBSubjects.FirstOrDefault(x => x.SubjectName == subject.SubjectName);
                    var       dbmarks   = context.DBMarks.ToList().Where(x => x.DBSubject == dbsubject);

                    context.RemoveRange(dbmarks);
                    context.SaveChanges();

                    context.DBSubjects.Remove(dbsubject);
                    context.SaveChanges();
                }
            }
        }
Пример #4
0
 public SubjectDTO(DBSubject subject)
 {
     Name    = subject.Name;
     Classes = subject.Classes;
 }