Ejemplo n.º 1
0
        public static StaticPagedList <TEntity> ToPagedList <TEntity>(this AccountSearchResult <TEntity> searchResult) where TEntity : class, new()
        {
            var result = new StaticPagedList <TEntity>(
                searchResult.Result,
                searchResult.PageNumber,
                searchResult.PageSize,
                searchResult.TotalResultsCount);

            return(result);
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <AccountSearchResponse> > Search([FromQuery] AccountSearchRequest request)
        {
            request.EnsureValidation();
            AccountSearchArgs   accountSearchArgs   = new AccountSearchArgs();
            IMediator           mediator            = Factory.Resolve <IMediator>();
            AccountSearchResult accountSearchResult = await mediator.Send(new AccountSearchCommand(accountSearchArgs));

            accountSearchResult.EnsureSuccess();
            AccountSearchResponse response = new AccountSearchResponse
            {
                Accounts = accountSearchResult.Results
                           .Select(x => { return(new AccountLiteView(x)); })
                           .ToArray()
            };

            return(Ok(response));
        }
Ejemplo n.º 3
0
        public virtual AccountSearchResult <TEntity> Search <TEntity>(AccountSearchCriteria <TEntity> searchCriteria, bool all = false) where TEntity : class, new()
        {
            GmiContext context = _context ?? new GmiContext();

            var dbSet = context.Set <TEntity>();

            IQueryable <TEntity> query = dbSet;


            if (searchCriteria.FilterExpression != null)
            {
                query = query.Where(searchCriteria.FilterExpression);
            }

            if (searchCriteria.SortExpression != null)
            {
                query = searchCriteria.SortExpression(query);
            }


            AccountSearchResult <TEntity> result = new AccountSearchResult <TEntity>(searchCriteria)
            {
                TotalResultsCount = query.Count(),
            };

            if (!all)
            {
                query = query.Skip(searchCriteria.StartIndex).Take(searchCriteria.PageSize);
            }


            result.Result = query.ToList();


            if (_context == null)
            {
                context.Dispose();
            }


            return(result);
        }
Ejemplo n.º 4
0
        public virtual AccountSearchResult <TEntity> SearchUser <TEntity>(AccountSearchCriteria <TEntity> searchCriteria) where TEntity : User, new()
        {
            GmiContext context = _context ?? new GmiContext();

            var dbSet = context.Set <TEntity>();

            IQueryable <TEntity> query = dbSet;


            if (searchCriteria.FilterExpression != null)
            {
                query = query.Where(searchCriteria.FilterExpression);
            }

            if (searchCriteria.SortExpression != null)
            {
                query = searchCriteria.SortExpression(query);
            }
            else
            {
                query = query.OrderByDescending(entity => entity.Id);
            }

            AccountSearchResult <TEntity> result = new AccountSearchResult <TEntity>(searchCriteria)
            {
                TotalResultsCount = query.Count(),
            };

            query = query.Skip(searchCriteria.StartIndex).Take(searchCriteria.PageSize);

            result.Result = query.ToList();


            if (_context == null)
            {
                context.Dispose();
            }


            return(result);
        }