示例#1
0
        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));
        }
示例#2
0
 public ActionResult SearchPost(ResponseSearchVM model)
 {
     return(RedirectToAction("ExportSearch",
                             new { model.TrainerTC, model.CourseTCList, model.ResponseType, model.Group_ID, model.IsWebinar }));
 }