Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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();
 }