private void SetCacheByDbList(IPagerInputModel pagerInputModel, IPagedList <TEntity> pagedList) { if (IsCacheActive() && pagedList.Count > 0) { CacheManager.Set <IPagedList <TEntity> >(CreateCacheKey(pagerInputModel.ParamString()), pagedList, CacheSettings.CacheTime); } }
protected virtual IQueryable <TEntityModel> IsActiveExpression(IPagerInputModel pagerInputModel, IQueryable <TEntityModel> query) { if (pagerInputModel.IsActive.HasValue) { query = query.Where(s => s.IsActive == pagerInputModel.IsActive.Value); } return(query); }
private IPagedList <TEntity> GetListByDb(IPagerInputModel pagerInputModel, IPagedList <TEntity> pagedList) { if (pagedList == null) { pagedList = DataOperation.GetPagedList <IPagerInputModel>(pagerInputModel); SetCacheByDbList(pagerInputModel, pagedList); } return(pagedList); }
public virtual IPagedList <TEntityModel> GetList(IPagerInputModel pagerInputModel) { IQueryable <TEntityModel> query = ListExpression(_queryEntity, pagerInputModel); query = OrderByExpression(query, pagerInputModel); query = IsActiveExpression(pagerInputModel, query); var paged = query.ToPagedList(pagerInputModel.PageNumber, pagerInputModel.PageSize); return(paged); }
private IPagedList <TEntity> GetListByCache(IPagerInputModel pagerInputModel) { IPagedList <TEntity> pagedList = null; if (IsCacheActive()) { string cacheKey = CreateCacheKey(pagerInputModel.ParamString()); pagedList = CacheManager.Get <IPagedList <TEntity> >(cacheKey); } return(pagedList); }
public virtual IResultObjectPagedListModel <TModel> GetList(IPagerInputModel pagerInputModel) { ResultObjectPagedListModel <TModel> resultObjectList = new ResultObjectPagedListModel <TModel>(); try { IPagedList <TEntity> pagedList = GetListByCache(pagerInputModel); pagedList = GetListByDb(pagerInputModel, pagedList); List <TModel> dtoList = Mapper.Map <List <TEntity>, List <TModel> >(pagedList.ToList()); resultObjectList = new ResultObjectPagedListModel <TModel>(pagedList, dtoList); } catch (System.Exception ex) { resultObjectList.IsSuccess = false; ExceptionManager exceptionManager = new ExceptionManager(ex); resultObjectList.Messages.AddRange(exceptionManager.GetMessages()); } resultObjectList.SetResult(); return(resultObjectList); }
public virtual IPagedList <TEntity> GetPagedList <TPargerInputModel>(IPagerInputModel pagerInputModel) { if (Repository is ISelectableRepository <TEntity, TKey> selectableRepository) { try { return(selectableRepository.GetList(pagerInputModel)); } catch (Exception ex) { throw new DatabaseOperationException(new DatabaseOperationExceptionModel() { Code = "GetPagedList", OriginalMessage = ex.Message.ToString(), DataSourceName = Repository.ToString() + "-GetPagedList" }, ex); } } throw new DatabaseOperationException(new DatabaseOperationExceptionModel() { DataSourceName = Repository.ToString() + "-GetPagedList", Code = ValidationConstans.UNAUTHORIZED_REPO }); }
protected virtual IQueryable <TEntityModel> ListExpression(IQueryable <TEntityModel> query, IPagerInputModel input) { return(query); }
protected virtual IQueryable <TEntityModel> OrderByExpression(IQueryable <TEntityModel> query, IPagerInputModel input) { if (!string.IsNullOrEmpty(input.SortColumn)) { if (input.SortDescending) { query = query.OrderByDescending(input.SortColumn); } else { query = query.OrderBy(input.SortColumn); } } return(query); }
protected override IQueryable <UserEntity> ListExpression(IQueryable <UserEntity> query, IPagerInputModel input) { UserPagerInputModel pagerInputModel = (UserPagerInputModel)input; query = SetSearchTextQuery(query, pagerInputModel); return(query); }