Esempio n. 1
0
        public ActionResult SearchQuestionGroupQuestion(QuestionGroupInQuestionSearchFilter searchFilter)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Search QuestionInQuestionGroup").ToInputLogString());

            try
            {
                if (ModelState.IsValid)
                {
                    _questionGroupFacade = new QuestionGroupFacade();
                    var model = new QuestionGroupEditViewModel();
                    model.QuestionGroupInQuestionSearchFilter = searchFilter;
                    model.QuestionGroupInQuestionList         = _questionGroupFacade.GetQuestionListById(model.QuestionGroupInQuestionSearchFilter);

                    return(PartialView("~/Views/QuestionGroup/_QuestionInQuestionGroupList.cshtml", model));
                }

                return(Json(new
                {
                    Valid = false,
                    Error = string.Empty
                }));
            }
            catch (Exception ex)
            {
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Search SubArea").ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));

                throw;
            }
        }
Esempio n. 2
0
        public IEnumerable <QuestionGroupQuestionItemEntity> GetQuestionListById(QuestionGroupInQuestionSearchFilter searchFilter)
        {
            var resultQuery = (from questionGroupQuestion in _context.TB_M_QUESTIONGROUP_QUESTION
                               from createUser in
                               _context.TB_R_USER.Where(x => x.USER_ID == questionGroupQuestion.TB_M_QUESTION.CREATE_USER)
                               .DefaultIfEmpty()
                               from updateUser in
                               _context.TB_R_USER.Where(x => x.USER_ID == questionGroupQuestion.TB_M_QUESTION.UPDATE_USER)
                               .DefaultIfEmpty()
                               where
                               (questionGroupQuestion == null ||
                                questionGroupQuestion.QUESTIONGROUP_ID == searchFilter.QuestionGroupId)
                               select new QuestionGroupQuestionItemEntity
            {
                QuestionGroupQuestionId = questionGroupQuestion.QUESTIONGROUP_QUESTION_ID,
                QuestionId = questionGroupQuestion.QUESTION_ID,
                QuestionName = questionGroupQuestion.TB_M_QUESTION.QUESTION_NAME,
                Status = (bool)questionGroupQuestion.TB_M_QUESTION.IS_ACTIVE,
                SeqNo = questionGroupQuestion.SEQ_NO,
                UpdateUserName = (updateUser != null
                        ? new UserEntity()
                {
                    PositionCode = updateUser.POSITION_CODE,
                    Firstname = updateUser.FIRST_NAME,
                    Lastname = updateUser.LAST_NAME
                }
                        : null),
                CreateUserName = (createUser != null
                        ? new UserEntity()
                {
                    PositionCode = createUser.POSITION_CODE,
                    Firstname = createUser.FIRST_NAME,
                    Lastname = createUser.LAST_NAME
                }
                        : null),
                UpdateDate = questionGroupQuestion.TB_M_QUESTION.UPDATE_DATE,
                CreateDate = questionGroupQuestion.TB_M_QUESTION.CREATE_DATE
            });

            int startPageIndex = (searchFilter.PageNo - 1) * searchFilter.PageSize;

            searchFilter.TotalRecords = resultQuery.Count();

            if (startPageIndex >= searchFilter.TotalRecords)
            {
                startPageIndex      = 0;
                searchFilter.PageNo = 1;
            }

            resultQuery = SetQuestionGroupQuesionListSort(resultQuery, searchFilter);

            return(resultQuery.Skip(startPageIndex).Take(searchFilter.PageSize).ToList());
        }
Esempio n. 3
0
 private static IQueryable <QuestionGroupQuestionItemEntity> SetQuestionGroupQuesionListSort(IQueryable <QuestionGroupQuestionItemEntity> questionGroupList, QuestionGroupInQuestionSearchFilter searchFilter)
 {
     if (searchFilter.SortOrder.ToUpper(CultureInfo.InvariantCulture).Equals("ASC"))
     {
         switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture))
         {
         default:
             return
                 (questionGroupList.OrderBy(a => a.SeqNo));
         }
     }
     else
     {
         switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture))
         {
         default:
             return
                 (questionGroupList.OrderByDescending(a => a.SeqNo));
         }
     }
 }
Esempio n. 4
0
 public IEnumerable <QuestionGroupQuestionItemEntity> GetQuestionListById(QuestionGroupInQuestionSearchFilter searchFilter)
 {
     _questionGroupDataAccess = new QuestionGroupDataAccess(_context);
     return(_questionGroupDataAccess.GetQuestionListById(searchFilter));
 }