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); } }
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(); }