public ActionResult SearchTypeList(TypeSearchFilter searchFilter) { Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Type").ToInputLogString()); try { if (ModelState.IsValid) { _typeFacade = new TypeFacade(); TypeViewModel typeVm = new TypeViewModel(); typeVm.SearchFilter = searchFilter; typeVm.TypeList = _typeFacade.GetTypeList(typeVm.SearchFilter); ViewBag.PageSize = typeVm.SearchFilter.PageSize; return(PartialView("~/Views/Type/_TypeList.cshtml", typeVm)); } return(Json(new { Valid = false, Error = string.Empty })); } catch (Exception ex) { Logger.Error("Exception occur:\n", ex); Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Type").Add("Error Message", ex.Message).ToFailLogString()); return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString()))); } }
public IEnumerable <TypeItemEntity> GetTypeList(TypeSearchFilter searchFilter) { var typeStatus = searchFilter.Status == "all" ? null : searchFilter.Status.ToNullable <bool>(); var resultQuery = (from type in _context.TB_M_TYPE from createUser in _context.TB_R_USER.Where(x => x.USER_ID == type.CREATE_USER).DefaultIfEmpty() from updateUser in _context.TB_R_USER.Where(x => x.USER_ID == type.UPDATE_USER).DefaultIfEmpty() where ((searchFilter.TypeName == null || type.TYPE_NAME.Contains(searchFilter.TypeName)) && (!typeStatus.HasValue || type.TYPE_IS_ACTIVE == typeStatus) && (searchFilter.TypeCode == null || SqlFunctions.StringConvert(type.TYPE_CODE).Contains(searchFilter.TypeCode))) select new TypeItemEntity { TypeId = type.TYPE_ID, TypeName = type.TYPE_NAME, TypeCode = SqlFunctions.StringConvert(type.TYPE_CODE), Status = type.TYPE_IS_ACTIVE, 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 = type.UPDATE_DATE.HasValue ? type.UPDATE_DATE : type.CREATE_DATE, }); int startPageIndex = (searchFilter.PageNo - 1) * searchFilter.PageSize; searchFilter.TotalRecords = resultQuery.Count(); if (startPageIndex >= searchFilter.TotalRecords) { startPageIndex = 0; searchFilter.PageNo = 1; } resultQuery = SetTypeListSort(resultQuery, searchFilter); return(resultQuery.Skip(startPageIndex).Take(searchFilter.PageSize).ToList()); }
public IEnumerable <TypeItemEntity> GetTypeList(TypeSearchFilter searchFilter) { _typeDataAccess = new TypeDataAccess(_context); return(_typeDataAccess.GetTypeList(searchFilter)); }
private static IQueryable <TypeItemEntity> SetTypeListSort(IQueryable <TypeItemEntity> areaList, TypeSearchFilter searchFilter) { if (searchFilter.SortOrder.ToUpper(CultureInfo.InvariantCulture).Equals("ASC")) { switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture)) { case "TypeName": return(areaList.OrderBy(a => a.TypeName)); default: return(areaList.OrderBy(a => a.TypeName)); } } else { switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture)) { case "TypeName": return(areaList.OrderByDescending(a => a.TypeName)); default: return(areaList.OrderByDescending(a => a.TypeName)); } } }