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(); } } }
public SubjectDTO(DBSubject subject) { Name = subject.Name; Classes = subject.Classes; }