示例#1
0
        public IEnumerable <QuestionGroupEditTableItemEntity> GetQuestionGroupById(QuestionGroupEditSearchFilter searchFilter)
        {
            var resultQuery = (from productQuestionGroup in _context.TB_M_MAP_PRODUCT_QUESTIONGROUP
                               where (productQuestionGroup.MAP_PRODUCT_ID == searchFilter.MapProductId.Value)
                               select new QuestionGroupEditTableItemEntity
            {
                MapProductQuestionGroupId = productQuestionGroup.MAP_PRODUCT_QUESTIONGROUP_ID,
                MapProductId = productQuestionGroup.MAP_PRODUCT_ID,
                QuestionGroupId = productQuestionGroup.QUESTIONGROUP_ID,
                QuestionGroupName = productQuestionGroup.TB_M_QUESTIONGROUP.QUESTIONGROUP_NAME,
                PassAmount = productQuestionGroup.REQUIRE_AMOUNT_PASS,
                QuestionNo = productQuestionGroup.TB_M_QUESTIONGROUP.TB_M_QUESTIONGROUP_QUESTION.Count(),
                Seq = productQuestionGroup.SEQ_NO
            });

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

            searchFilter.TotalRecords = resultQuery.Count();

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

            resultQuery = SetQuestionGroupByIdListSort(resultQuery, searchFilter);

            return(resultQuery.Skip(startPageIndex).Take(searchFilter.PageSize).ToList());
        }
        public ActionResult SearchQuestionGroup(QuestionGroupEditSearchFilter searchFilter)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Group Question").ToInputLogString());

            try
            {
                if (ModelState.IsValid)
                {
                    _mappingProductTypeFacade = new MappingProductTypeFacade();
                    var model = new MappingProductTypeEditModel();
                    model.SearchFilter = searchFilter;

                    model.QuestionGroupList = _mappingProductTypeFacade.GetQuestionGroupById(searchFilter);
                    ViewBag.PageSize        = model.SearchFilter.PageSize;

                    return(PartialView("~/Views/MappingProductType/_QuestionGroupEditList.cshtml", model));
                }

                return(Json(new
                {
                    Valid = false,
                    Error = string.Empty
                }));
            }
            catch (Exception ex)
            {
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Group Question").ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));
            }
        }
示例#3
0
 public IEnumerable <QuestionGroupEditTableItemEntity> GetQuestionGroupById(QuestionGroupEditSearchFilter searchFilter)
 {
     _mappingProductTypeDataAccess = new MappingProductTypeDataAccess(_context);
     return(_mappingProductTypeDataAccess.GetQuestionGroupById(searchFilter));
 }
示例#4
0
 private static IQueryable <QuestionGroupEditTableItemEntity> SetQuestionGroupByIdListSort(IQueryable <QuestionGroupEditTableItemEntity> mapProductQuestionGroup, QuestionGroupEditSearchFilter searchFilter)
 {
     if (searchFilter.SortOrder.ToUpper(CultureInfo.InvariantCulture).Equals("ASC"))
     {
         switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture))
         {
         default:
             return(mapProductQuestionGroup.OrderBy(a => a.Seq));
         }
     }
     else
     {
         switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture))
         {
         default:
             return(mapProductQuestionGroup.OrderByDescending(a => a.Seq));
         }
     }
 }