/// <summary> /// Method for select all entities from the database /// </summary> /// <returns></returns> public List <Exam> GetAll() { List <Exam> exams = table.ToList(); List <int> sessionsIds = exams.Select(o => o.SessionId).ToList(); List <int> teachersIds = exams.Select(o => o.TeacherId).ToList(); List <int> subjectsOfGroupsIds = exams.Select(o => o.SubjectsOfGroupId).ToList(); List <Session> sessions = dbContext.SessionsRepository .GetAll() .Where(o => sessionsIds.Contains(o.Id)) .ToList(); List <Teacher> teachers = dbContext.TeachersRepository .GetAll() .Where(o => teachersIds.Contains(o.Id)) .ToList(); List <SubjectsOfGroup> subjectsOfGroups = dbContext.SubjectsOfGroupsRepository .GetAll() .Where(o => subjectsOfGroupsIds.Contains(o.Id)) .ToList(); foreach (Exam exam in exams) { Session session = sessions.FirstOrDefault(o => o.Id == exam.SessionId); Teacher teacher = teachers.FirstOrDefault(o => o.Id == exam.TeacherId); SubjectsOfGroup subjectsOfGroup = subjectsOfGroups.FirstOrDefault(o => o.Id == exam.SubjectsOfGroupId); exam.Session = session; exam.Teacher = teacher; exam.SubjectsOfGroup = subjectsOfGroup; } return(exams); }
/// <summary> /// Method for get all of exams from the database /// </summary> /// <returns></returns> public override List <BaseModel> GetAll() { List <BaseModel> exams = new List <BaseModel>(); using (SqlConnection connection = new SqlConnection(base.ConnectionString)) { using (var query = new SqlCommand()) { query.Connection = connection; query.CommandText = SqlQueriesHelper.FormSelectQuery(typeof(Exam)); query.Connection.Open(); using (SqlDataReader reader = query.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { exams.Add(new Exam() { Id = (int)reader["Id"], Session = new Session { Id = (int)reader["SessionId"] }, ExamDate = ((DateTime)reader["ExamDate"]).Date, SubjectsOfGroup = new SubjectsOfGroup { Id = (int)reader["SubjectsOfGroupId"] } }); } } } query.Connection.Close(); } } if (exams.Any()) { foreach (Exam model in exams) { Session session = (Session)base.DbContext.SessionsRepository.GetById(model.Session.Id); SubjectsOfGroup subjectsOfGroup = (SubjectsOfGroup)base.DbContext.SubjectsOfGroupsRepository.GetById(model.SubjectsOfGroup.Id); model.Session = session; model.SubjectsOfGroup = subjectsOfGroup; } } return(exams); }
public void GetAllSubjectOfGroupsTest() { List <bool> isEqualList = new List <bool>(); List <SubjectsOfGroup> subjectsOfGroups = dbContext.SubjectsOfGroupsRepository.GetAll(); foreach (var subjectsOfGroup in subjectsOfGroups) { SubjectsOfGroup obj = subjectsOfGroupsCases.Where(o => o.Id == subjectsOfGroup.Id && o.GroupId == subjectsOfGroup.GroupId && o.SubjectId == subjectsOfGroup.SubjectId) .FirstOrDefault(); isEqualList.Add(obj == null ? false : true); } bool isEqualCollections = isEqualList.Contains(false); Assert.IsTrue(!isEqualCollections); }
/// <summary> /// Method for get exam by id value from the database /// </summary> /// <param name="id"></param> /// <returns></returns> public override BaseModel GetById(int id) { Exam exam = null; using (SqlConnection connection = new SqlConnection(base.ConnectionString)) { using (var query = new SqlCommand()) { query.Connection = connection; query.CommandText = SqlQueriesHelper.FormSelectByIdQuery(typeof(Exam), id); query.Connection.Open(); using (SqlDataReader reader = query.ExecuteReader()) { if (reader.HasRows && reader.Read()) { exam = new Exam() { Id = (int)reader["Id"], Session = new Session { Id = (int)reader["SessionId"] }, ExamDate = ((DateTime)reader["ExamDate"]).Date, SubjectsOfGroup = new SubjectsOfGroup { Id = (int)reader["SubjectsOfGroupId"] } }; } } query.Connection.Close(); } } if (exam != null) { Session session = (Session)base.DbContext.SessionsRepository.GetById(exam.Session.Id); SubjectsOfGroup subjectsOfGroup = (SubjectsOfGroup)base.DbContext.SubjectsOfGroupsRepository.GetById(exam.SubjectsOfGroup.Id); exam.Session = session; exam.SubjectsOfGroup = subjectsOfGroup; } return(exam); }
public void GetSubjectOfGroupsByIdTest() { List <bool> isEqualList = new List <bool>(); List <int> ids = new List <int>() { 1, 3, 4 }; foreach (int id in ids) { SubjectsOfGroup subjectsOfGroup = dbContext.SubjectsOfGroupsRepository.GetById(id); SubjectsOfGroup obj = subjectsOfGroupsCases.Where(o => o.Id == subjectsOfGroup.Id && o.GroupId == subjectsOfGroup.GroupId && o.SubjectId == subjectsOfGroup.SubjectId) .FirstOrDefault(); isEqualList.Add(obj == null ? false : true); } bool isEqualCollections = isEqualList.Contains(false); Assert.IsTrue(!isEqualCollections); }
/// <summary> /// Method for get subjects of group by id value from the database /// </summary> /// <param name="id"></param> /// <returns></returns> public override BaseModel GetById(int id) { SubjectsOfGroup subjectsOfGroup = null; using (SqlConnection connection = new SqlConnection(base.ConnectionString)) { using (var query = new SqlCommand()) { query.Connection = connection; query.CommandText = SqlQueriesHelper.FormSelectByIdQuery(typeof(SubjectsOfGroup), id); query.Connection.Open(); using (SqlDataReader reader = query.ExecuteReader()) { if (reader.HasRows && reader.Read()) { subjectsOfGroup = new SubjectsOfGroup() { Id = (int)reader["Id"], Group = new Group { Id = (int)reader["GroupId"] }, Subject = new Subject { Id = (int)reader["SubjectId"] } }; } } query.Connection.Close(); } } if (subjectsOfGroup != null) { Group group = (Group)base.DbContext.GroupsRepository.GetById(subjectsOfGroup.Group.Id); Subject subject = (Subject)base.DbContext.SubjectsRepository.GetById(subjectsOfGroup.Subject.Id); subjectsOfGroup.Group = group; subjectsOfGroup.Subject = subject; } return(subjectsOfGroup); }