private IList <SchoolTheme> SeedSchoolThemes( ApplicationDbContext context, IList <SchoolTheme> previousAcademicYearSchoolThemes, AcademicYear currentAcademicYear) { IList <SchoolTheme> schoolThemes = new List <SchoolTheme>(); if (previousAcademicYearSchoolThemes.Any()) { foreach (var schoolTheme in previousAcademicYearSchoolThemes) { schoolTheme.AcademicYears.Add(currentAcademicYear); context.SchoolThemes.AddOrUpdate(schoolTheme); } schoolThemes = previousAcademicYearSchoolThemes; } else { foreach (var schoolThemeName in this.schoolThemeNames) { SchoolTheme schoolTheme = new SchoolTheme() { Name = schoolThemeName }; if (schoolThemeName == "General") { schoolTheme.StartGradeYear = 1; schoolTheme.EndGradeYear = 7; } else { schoolTheme.StartGradeYear = 8; schoolTheme.EndGradeYear = 12; } schoolTheme.AcademicYears.Add(currentAcademicYear); context.SchoolThemes.AddOrUpdate(schoolTheme); schoolThemes.Add(schoolTheme); } } return(schoolThemes); }
private List <Subject> SeedPrimarySchoolGradeSubjects( ApplicationDbContext context, SchoolTheme generalSchoolTheme, Grade grade) { List <Subject> subjects = new List <Subject>(); foreach (var subjectName in this.generalSchoolThemeSubjectNames) { Subject subject = new Subject(); subject.Name = subjectName; subject.Grade = grade; subject.TotalHours = 80; subject.SchoolTheme = generalSchoolTheme; context.Subjects.AddOrUpdate(subject); subjects.Add(subject); } return(subjects); }
private List <Subject> SeedGradeSubjects( ApplicationDbContext context, IList <SchoolTheme> schoolThemes, Grade grade, IList <Subject> previousYearCurrentGradeSubjects) { List <Subject> subjects = new List <Subject>(); if (previousYearCurrentGradeSubjects != null && previousYearCurrentGradeSubjects.Any()) { // Copies subject information from previous year current grade to the new subjects foreach (var previousYearCurrentGradeSubject in previousYearCurrentGradeSubjects) { Subject subject = new Subject(); subject.Name = previousYearCurrentGradeSubject.Name; subject.Grade = grade; subject.TotalHours = previousYearCurrentGradeSubject.TotalHours; subject.SchoolTheme = previousYearCurrentGradeSubject.SchoolTheme; context.Subjects.AddOrUpdate(subject); subjects.Add(subject); } } else { if (grade.GradeYear < 8) { SchoolTheme generalSchoolTheme = schoolThemes.FirstOrDefault(st => st.Name == "General"); subjects = this.SeedPrimarySchoolGradeSubjects(context, generalSchoolTheme, grade); } else { IList <SchoolTheme> schoolThemesWithoutGeneral = schoolThemes.Where(st => st.Name != "General").ToList(); subjects = this.SeedSecondarySchoolGradeSubjects(context, schoolThemesWithoutGeneral, grade); } } return(subjects); }
public void Delete(SchoolTheme schoolTheme) { this.schoolThemeRepository.Delete(schoolTheme); this.schoolThemeRepository.SaveChanges(); }
public void Update(SchoolTheme schoolTheme) { this.schoolThemeRepository.Update(schoolTheme); this.schoolThemeRepository.SaveChanges(); }
public void Add(SchoolTheme schoolTheme) { this.schoolThemeRepository.Add(schoolTheme); this.schoolThemeRepository.SaveChanges(); }