Пример #1
0
 /// <summary>
 /// Install initial fixtures. Does not create duplicates, only installs missing ones.
 /// Use this method to install all fixtures, or other methods to install individual.
 /// </summary>
 public void InstallFixtures()
 {
     using (var context = new TeachersModelContainer())
     {
         InstallFacultyFixtures(context);
         InstallDepartmentFixtures(context);
         InstallStudyActionFixtures(context);
         context.SaveChanges();
     }
 }
Пример #2
0
 public XLSLoader(string fileName,
                  string sheetName = "бакалавр",
                  TeachersModelContainer context = null)
 {
     if (context == null)
     {
         _context = new ModelContext();
     }
     else
     {
         _context = context;
     }
     _excel    = new ExcelQueryFactory(fileName);
     SheetName = sheetName;
     _rawData  = (from c in _excel.WorksheetNoHeader(SheetName)
                  select c).ToList();
     _moduleOffsets = new Dictionary <Module, List <int> >();
     _groupOffsets  = new Dictionary <Group, int>();
 }
Пример #3
0
        /// <summary>
        /// Install fixtures for FacultySet. Does not save changes to context.
        /// </summary>
        /// <param name="context">DbContext instance.</param>
        public static void InstallFacultyFixtures(TeachersModelContainer context)
        {
            List <Faculty> _toSave = new List <Faculty>();

            foreach (var fixture in _facultyFixtures)
            {
                var faculty = (from f in context.FacultySet
                               where f.Name.Equals(fixture, StringComparison.InvariantCultureIgnoreCase)
                               select f).FirstOrDefault();
                if (faculty == null)
                {
                    faculty      = new Faculty();
                    faculty.Name = fixture;
                    _toSave.Add(faculty);
                }
            }
            foreach (var item in _toSave)
            {
                context.FacultySet.Add(item);
            }
        }
Пример #4
0
        /// <summary>
        /// Install fixtures for StudyActionSet. Does not save changes to context.
        /// </summary>
        /// <param name="context">DbContext instance.</param>
        public static void InstallStudyActionFixtures(TeachersModelContainer context)
        {
            List <StudyAction> _toSave = new List <StudyAction>();

            foreach (var kvPair in _studyActionFixtures)
            {
                var studyAction = (from s in context.StudyActionSet
                                   where (s.Name.Equals(kvPair.Key, StringComparison.InvariantCultureIgnoreCase) &&
                                          s.IsIndividual == kvPair.Value)
                                   select s).FirstOrDefault();
                if (studyAction == null)
                {
                    studyAction              = new StudyAction();
                    studyAction.Name         = kvPair.Key;
                    studyAction.IsIndividual = kvPair.Value;
                    _toSave.Add(studyAction);
                }
            }
            foreach (var item in _toSave)
            {
                context.StudyActionSet.Add(item);
            }
        }
Пример #5
0
        /// <summary>
        /// Install fixtures for DepartmentSet. Does not save changes to context.
        /// </summary>
        /// <param name="context">DbContext instance.</param>
        public static void InstallDepartmentFixtures(TeachersModelContainer context)
        {
            Faculty           defaultFaculty = context.FacultySet.FirstOrDefault();
            List <Department> _toSave        = new List <Department>();

            foreach (var fixture in _departmentFixtures)
            {
                var department = (from f in context.DepartmentSet
                                  where f.Name.Equals(fixture, StringComparison.InvariantCultureIgnoreCase)
                                  select f).FirstOrDefault();
                if (department == null)
                {
                    department         = new Department();
                    department.Name    = fixture;
                    department.Faculty = defaultFaculty;
                    _toSave.Add(department);
                }
            }
            foreach (var item in _toSave)
            {
                context.DepartmentSet.Add(item);
            }
        }
Пример #6
0
 public ModuleStudyActionImport(TeachersModelContainer context,
                                RowNoHeader row)
 {
     this.context = context;
     this.row     = row;
 }
Пример #7
0
 public Fixtures(TeachersModelContainer context)
 {
     this.context = context;
 }
Пример #8
0
 /// <summary>
 /// (Not implemented yet!)
 /// Install fixtures for StudyActionSet. Does not save changes to context.
 /// </summary>
 /// <param name="context">DbContext instance.</param>
 public static void InstallNormFixtures(TeachersModelContainer context)
 {
     throw new NotImplementedException();
 }