public static List<ExamView> FromExamList(ScheduleRepository _repo, List<Exam> list) { var result = new List<ExamView>(); string consAud; string examAud; foreach (var exam in list) { var disc = _repo.GetFirstFiltredDisciplines(d => d.DisciplineId == exam.DisciplineId); if (exam.ConsultationAuditoriumId != 0) { consAud = _repo.GetAuditorium(exam.ConsultationAuditoriumId).Name; } else { consAud = ""; } if (exam.ExamAuditoriumId != 0) { examAud = _repo.GetAuditorium(exam.ExamAuditoriumId).Name; } else { examAud = ""; } result.Add(new ExamView() { ExamId = exam.ExamId, ConsultationAuditorium = consAud, ConsultationDateTime = exam.ConsultationDateTime, DisciplineName = disc.Name, ExamAuditorium = examAud, ExamDateTime = exam.ExamDateTime, GroupName = disc.StudentGroup.Name }); } return result; }
public void RemoveSyncWithSchedule(ScheduleRepository _sRepo) { var examDiscs = _sRepo .GetFiltredDisciplines(d => d.Attestation == 2 || d.Attestation == 3) .ToList(); var examDiscIds = GetAllExams() .Select(e => e.DisciplineId) .ToList(); var examsToRemove = new List<int>(); foreach (var exam in GetAllExams()) { var disc = _sRepo.GetFirstFiltredDisciplines(d => d.DisciplineId == exam.DisciplineId); if (disc == null || !(disc.Attestation == 2 || disc.Attestation == 3)) { examsToRemove.Add(exam.ExamId); } } foreach (var examId in examsToRemove) { var logIds = GetAllLogEvents() .Where(le => (le.OldExam != null && le.OldExam.ExamId == examId) || (le.NewExam != null && le.NewExam.ExamId == examId)) .Select(le => le.LogEventId) .ToList(); foreach (var logId in logIds) { RemoveLogEvent(logId); } RemoveExam(examId); } }