public RevordViewModel <ATRResponseViewModel> GetAttestationRecords(int id) { try { var attRecs = attestationRecordRepository.Get(x => x.AttestationId == id).ToList(); List <ATRResponseViewModel> list = new List <ATRResponseViewModel>(); foreach (var rec in attRecs) { var group = eagerGroupRepository.GetEager(rec.GroupId, "Course").GetAwaiter().GetResult(); var l = new ATRResponseViewModel() { id = rec.Id, Date = rec.Date, Course = group.Course.Number, Group = group.Number }; list.Add(l); } var result = new RevordViewModel <ATRResponseViewModel>() { Records = list }; return(result); } catch (Exception e) { return(null); } }
public async Task <RevordViewModel <Subject> > GetAllSubjectsForTeacher(int?group) { try { var subjectTeacher = TeacherSubjectMappingModelRepository.GetEager(sb => sb.TeacherId == userId, "Teacher").Distinct(); var subjectGroups = eagerGroupSubjectMappingModelRepository.GetEager(sg => sg.GroupId == group, "Subject").Distinct() .Where(sg => subjectTeacher.SingleOrDefault(sb => sb.SubjectId == sg.SubjectId) != null); var subjects = subjectRepository.Get(s => subjectGroups.SingleOrDefault(t => t.SubjectId == s.Id) != null); var result = new RevordViewModel <Subject>() { Records = subjects.ToList() }; return(result); } catch (Exception e) { ModelState.AddModelError("error", e.Message); await Response.BadRequestHelper(ModelState.Values); } return(null); }
public RevordViewModel <Group> GetGroupsBySubject(int?id) { try { var grtrecords = groupTeacherRepository.Get(t => t.TeacherId == userId).Distinct(); var grsbrecords = groupSubjetcRepository.GetEager(g => g.SubjectId == id.Value, "Group").Distinct() .Where(gr => grtrecords.SingleOrDefault(rt => rt.GroupId == gr.GroupId) != null); var result = new RevordViewModel <Group>() { Records = grsbrecords.Select(x => x.Group).ToList() }; foreach (var gr in result.Records) { gr.Student = studentRepository.Get(x => x.GroupId == gr.Id).ToList(); } return(result); } catch (Exception e) { return(null); } }
public async Task <RevordViewModel <Group> > GetAllGroupsForTeacher(int?course) { try { var groupsTeacher = GroupTeacherMappingModelRepository.GetEager(x => x.TeacherId == userId, "Teacher").Distinct(); var groups = groupRepository.Get(g => g.CourseId == course.Value && groupsTeacher.SingleOrDefault(t => t.GroupId == g.Id) != null); var result = new RevordViewModel <Group>() { Records = groups.ToList() }; return(result); } catch (Exception e) { ModelState.AddModelError("error", e.Message); await Response.BadRequestHelper(ModelState.Values); } return(null); }