public void UploadFaculties(string filePath)
 {
     try
     {
         var lines     = File.ReadAllLines(filePath);
         var faculties = lines.Select(ParseFaculty);
         _storage.Faculties.AddRange(faculties);
         _storage.SaveChanges();
     }
     catch (DataException exception)
     {
         throw new DataException("File is not found or broken.", exception);
     }
 }
Exemplo n.º 2
0
        public void AddUsers(int countUsers, int countTeachers, int countAdmins)
        {
            var faculty = new Faculty {
                Name = GetRandStr(MinFacultyLen, MaxFacultyLen)
            };

            var department = new Department
            {
                Name    = GetRandStr(MinFacultyLen, MaxFacultyLen),
                Faculty = faculty
            };

            var group = new AcademicGroup
            {
                Name    = GetRandStr(MinNamesLen, MaxNamesLen, true),
                Faculty = faculty
            };

            for (var i = 0; i < countUsers; i++)
            {
                var student = new Student
                {
                    FirstName    = GetRandStr(MinNamesLen, MaxNamesLen),
                    LastName     = GetRandStr(MinNamesLen, MaxNamesLen),
                    Email        = GetRandStr(MinNamesLen, MaxNamesLen, true),
                    PasswordHash = GetRandStr(HashLen, HashLen, true),
                    GitLink      = GetRandStr(MinNamesLen, MaxNamesLen, true),
                    Group        = group
                };

                _usersStorage.Students.Add(student);
            }

            for (var i = 0; i < countTeachers; i++)
            {
                var teacher = new Teacher
                {
                    FirstName    = GetRandStr(MinNamesLen, MaxNamesLen),
                    LastName     = GetRandStr(MinNamesLen, MaxNamesLen),
                    Email        = GetRandStr(MinNamesLen, MaxNamesLen, true),
                    PasswordHash = GetRandStr(HashLen, HashLen, true),
                    Department   = department
                };

                _usersStorage.Teachers.Add(teacher);
            }

            for (var i = 0; i < countAdmins; i++)
            {
                var admin = new Admin
                {
                    FirstName    = GetRandStr(MinNamesLen, MaxNamesLen),
                    LastName     = GetRandStr(MinNamesLen, MaxNamesLen),
                    Email        = GetRandStr(MinNamesLen, MaxNamesLen, true),
                    PasswordHash = GetRandStr(HashLen, HashLen, true),
                    SecretKey    = GetRandStr(MinNamesLen, MaxNamesLen, true)
                };

                _usersStorage.Admins.Add(admin);
            }

            _usersStorage.SaveChanges();
        }