public ActionResult SearchMappingList(MappingProductSearchFilter searchFilter) { Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Mapping").ToInputLogString()); try { if (ModelState.IsValid) { _mappingProductTypeFacade = new MappingProductTypeFacade(); MappingProductTypeViewModel mappingVM = new MappingProductTypeViewModel(); mappingVM.SearchFilter = searchFilter; mappingVM.MappingProductList = _mappingProductTypeFacade.GetMappingList(mappingVM.SearchFilter); ViewBag.PageSize = mappingVM.SearchFilter.PageSize; return(PartialView("~/Views/MappingProductType/_MappingProductList.cshtml", mappingVM)); } return(Json(new { Valid = false, Error = string.Empty })); } catch (Exception ex) { Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Mapping").ToFailLogString()); return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString()))); } }
public IEnumerable <MappingProductTypeItemEntity> GetMappingList(MappingProductSearchFilter searchFilter) { _mappingProductTypeDataAccess = new MappingProductTypeDataAccess(_context); return(_mappingProductTypeDataAccess.GetMappingList(searchFilter)); }
private static IQueryable <MappingProductTypeItemEntity> SetMappingListSort(IQueryable <MappingProductTypeItemEntity> slaList, MappingProductSearchFilter searchFilter) { if (string.IsNullOrEmpty(searchFilter.SortOrder)) { searchFilter.SortOrder = "ASC"; } if (string.IsNullOrEmpty(searchFilter.SortField)) { searchFilter.SortField = "ProductGroup"; } if (searchFilter.SortOrder.ToUpper(CultureInfo.InvariantCulture).Equals("ASC")) { switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture)) { default: return (slaList.OrderBy(a => a.ProductGroupName) .ThenBy(a => a.ProductName) .ThenBy(a => a.CampaignName) .ThenBy(a => a.TypeName) .ThenBy(a => a.AreaName) .ThenBy(a => a.SubAreaName)); } } else { switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture)) { default: return (slaList.OrderByDescending(a => a.ProductGroupName) .ThenByDescending(a => a.ProductName) .ThenByDescending(a => a.CampaignName) .ThenByDescending(a => a.TypeName) .ThenByDescending(a => a.AreaName) .ThenByDescending(a => a.SubAreaName)); } } }
public IEnumerable <MappingProductTypeItemEntity> GetMappingList(MappingProductSearchFilter searchFilter) { bool isActiveHasNotValueOrAll = false; bool mappingIsActive = true; if (string.IsNullOrEmpty(searchFilter.IsActive) || searchFilter.IsActive == "all") { isActiveHasNotValueOrAll = true; } else { if (searchFilter.IsActive == "false") { mappingIsActive = false; } } bool isVerifyHasNotValueOrAll = false; bool mappingIsVerify = true; if (string.IsNullOrEmpty(searchFilter.IsVerify) || searchFilter.IsVerify == "all") { isVerifyHasNotValueOrAll = true; } else { if (searchFilter.IsVerify == "false") { mappingIsVerify = false; } } var resultQuery = (from mapping in _context.TB_M_MAP_PRODUCT from product in _context.TB_R_PRODUCT.Where(x => x.PRODUCT_ID == mapping.PRODUCT_ID).DefaultIfEmpty() from productGroup in _context.TB_R_PRODUCTGROUP.Where(x => x.PRODUCTGROUP_ID == product.PRODUCTGROUP_ID).DefaultIfEmpty() from campaignService in _context.TB_R_CAMPAIGNSERVICE.Where(x => x.CAMPAIGNSERVICE_ID == mapping.CAMPAIGNSERVICE_ID).DefaultIfEmpty() from area in _context.TB_M_AREA.Where(x => x.AREA_ID == mapping.AREA_ID).DefaultIfEmpty() from subArea in _context.TB_M_SUBAREA.Where(x => x.SUBAREA_ID == mapping.SUBAREA_ID).DefaultIfEmpty() from type in _context.TB_M_TYPE.Where(x => x.TYPE_ID == mapping.TYPE_ID).DefaultIfEmpty() from updateUser in _context.TB_R_USER.Where(x => x.USER_ID == mapping.UPDATE_USER).DefaultIfEmpty() from ownerUser in _context.TB_R_USER.Where(x => x.USER_ID == mapping.DEFAULT_OWNER_USER_ID).DefaultIfEmpty() where ((!searchFilter.ProductGroupId.HasValue || product.PRODUCTGROUP_ID == searchFilter.ProductGroupId.Value) && (!searchFilter.ProductId.HasValue || mapping.PRODUCT_ID == searchFilter.ProductId.Value) && (!searchFilter.CampaignId.HasValue || mapping.CAMPAIGNSERVICE_ID == searchFilter.CampaignId.Value) && (!searchFilter.TypeId.HasValue || mapping.TYPE_ID == searchFilter.TypeId) && (!searchFilter.AreaId.HasValue || mapping.AREA_ID == searchFilter.AreaId) && (!searchFilter.SubAreaId.HasValue || mapping.SUBAREA_ID == searchFilter.SubAreaId) && (!searchFilter.OwnerId.HasValue || ownerUser.USER_ID == searchFilter.OwnerId) && (isActiveHasNotValueOrAll || mapping.MAP_PRODUCT_IS_ACTIVE == mappingIsActive) && (isVerifyHasNotValueOrAll || mapping.MAP_PRODUCT_IS_VERIFY == mappingIsVerify)) select new MappingProductTypeItemEntity { MapProductId = mapping.MAP_PRODUCT_ID, ProductGroupName = productGroup.PRODUCTGROUP_NAME, ProductName = product.PRODUCT_NAME, CampaignName = campaignService.CAMPAIGNSERVICE_NAME, AreaName = area.AREA_NAME, SubAreaName = subArea.SUBAREA_NAME, TypeName = type.TYPE_NAME, Verify = mapping.MAP_PRODUCT_IS_VERIFY ? "Yes" : "No", QuestionGroupNameList = mapping.TB_M_MAP_PRODUCT_QUESTIONGROUP.Select(grp => grp.TB_M_QUESTIONGROUP.QUESTIONGROUP_NAME).ToList(), OwnerUser = (ownerUser != null ? new UserEntity() { PositionCode = ownerUser.POSITION_CODE, Firstname = ownerUser.FIRST_NAME, Lastname = ownerUser.LAST_NAME } : null), Active = mapping.MAP_PRODUCT_IS_ACTIVE ? "Active" : "Inactive", UpdateUser = (updateUser != null ? new UserEntity() { PositionCode = updateUser.POSITION_CODE, Firstname = updateUser.FIRST_NAME, Lastname = updateUser.LAST_NAME } : null), UpdateDate = mapping.UPDATE_DATE }); int startPageIndex = (searchFilter.PageNo - 1) * searchFilter.PageSize; searchFilter.TotalRecords = resultQuery.Count(); if (startPageIndex >= searchFilter.TotalRecords) { startPageIndex = 0; searchFilter.PageNo = 1; } resultQuery = SetMappingListSort(resultQuery, searchFilter); return(resultQuery.Skip(startPageIndex).Take(searchFilter.PageSize).ToList()); }