private void SetCacheByDbList(IPagerInputModel pagerInputModel, IPagedList <TEntity> pagedList)
 {
     if (IsCacheActive() && pagedList.Count > 0)
     {
         CacheManager.Set <IPagedList <TEntity> >(CreateCacheKey(pagerInputModel.ParamString()), pagedList, CacheSettings.CacheTime);
     }
 }
Exemple #2
0
 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);
 }
Exemple #4
0
        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
     });
 }
Exemple #8
0
 protected virtual IQueryable <TEntityModel> ListExpression(IQueryable <TEntityModel> query, IPagerInputModel input)
 {
     return(query);
 }
Exemple #9
0
 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);
        }