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; } }
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()); }
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)); } } }
public IEnumerable <QuestionGroupQuestionItemEntity> GetQuestionListById(QuestionGroupInQuestionSearchFilter searchFilter) { _questionGroupDataAccess = new QuestionGroupDataAccess(_context); return(_questionGroupDataAccess.GetQuestionListById(searchFilter)); }