Exemple #1
0
        private void ImportFromTextClick(object sender, EventArgs e)
        {
            _repo.RecreateDB();
            _repo.Dispose();

            _repo = new ScheduleRepository();

            const string basePath = @"D:\BS\csprogs\Schedule\Schedule.TxtImport\bin\Debug\Import\old\";
            //const string basePath = @"E:\csprogs\Schedule\Schedule.TxtImport\bin\Debug\Import\old\";

            var auds = ScheduleTxtImport.ImportAuditoriums(basePath);
            _repo.AddAuditoriumRange(auds);

            var studentGroups = ScheduleTxtImport.ImportStudentsWithBaseGroups(basePath);
            foreach (var group in studentGroups)
            {
                var groupToAdd = _repo.FindStudentGroup(group.Key);
                if (groupToAdd == null)
                {
                    groupToAdd = new StudentGroup { Name = group.Key };
                    _repo.AddStudentGroup(groupToAdd);
                }

                foreach (var student in group.Value)
                {
                    _repo.AddStudent(student);

                    _repo.AddStudentsInGroups(new StudentsInGroups { Student = student, StudentGroup = groupToAdd });
                }
            }

            var disciplines = ScheduleTxtImport.ImportDisciplines(basePath);
            foreach (var disc in disciplines)
            {
                var group = _repo.FindStudentGroup(disc.StudentGroup.Name);

                if (group == null)
                {
                    group = new StudentGroup { Name = disc.StudentGroup.Name };
                    _repo.AddStudentGroup(group);
                }

                disc.StudentGroup = group;
            }
            _repo.AddDisciplineRange(disciplines);

            var rings = ScheduleTxtImport.ImportRings(basePath);
            _repo.AddRingRange(rings);

            /*
            var teachers = ScheduleTxtImport.ImportTeacherList();
            _repo.AddTeacherRange(teachers);
             */
        }