public ActionResult ExportSearch(string trainerTC, string courseTCList, byte?responseType, decimal?group_ID, bool isWebinar) { var splitList = StringUtils.SafeSplit(courseTCList); var model = new ResponseSearchVM { CourseTCList = courseTCList, TrainerTC = trainerTC, Group_ID = group_ID }; model.RawQuestionnaires = new List <RawQuestionnaire>(); if (!trainerTC.IsEmpty() || splitList.Any() || responseType.HasValue || group_ID != null || isWebinar) { IQueryable <RawQuestionnaire> rawQuestionnaires = RawQuestionnaireService.GetAll().IsActive(); if (trainerTC.IsEmpty() && !splitList.Any() && !group_ID.HasValue) { ShowMessage("¬ведите код курса, код преподавател¤ или номер группы"); return(RedirectBack()); } if (!trainerTC.IsEmpty()) { // rawQuestionnaires = rawQuestionnaires // .Where(rq => rq.QuestionnaireTeachersMark.Teacher_TC == trainerTC); rawQuestionnaires = rawQuestionnaires .Where(r => r.Questionnaire.StudentInGroup.Group.Teacher_TC == trainerTC); } if (responseType.HasValue) { if (responseType.Value >= 0) { rawQuestionnaires = rawQuestionnaires .Where(rq => rq.Type == responseType.Value); } } if (group_ID != null) { rawQuestionnaires = rawQuestionnaires .Where(r => r.Questionnaire.StudentInGroup.Group_ID == group_ID); } if (splitList.Any()) { rawQuestionnaires = rawQuestionnaires.Where(rq => /* rq.Type * == RawQuestionnaireType.CourseComment * &&*/splitList .Contains(rq.Questionnaire.StudentInGroup.Group.Course_TC)); } if (isWebinar) { rawQuestionnaires = rawQuestionnaires .Where(r => r.Questionnaire.StudentInGroup .PriceType_TC == PriceTypes.Webinar); } model.RawQuestionnaires = rawQuestionnaires .OrderByDescending(x => x.Questionnaire_ID ?? x.TeacherMark_ID).Take(20).ToList(); } return(View(model)); }
public ActionResult SearchPost(ResponseSearchVM model) { return(RedirectToAction("ExportSearch", new { model.TrainerTC, model.CourseTCList, model.ResponseType, model.Group_ID, model.IsWebinar })); }