public async Task <Response <PagedQueryResultDTO <UserDTO> > > GetPaginated(IPageOption pageOption)
        {
            var result = await this.genericRepository.FindPagedAsync <User>(pageOption, null);

            return(new Response <PagedQueryResultDTO <UserDTO> >(new PagedQueryResultDTO <UserDTO>(result.Take, result.Skip, result.Total,
                                                                                                   this.mapper.Map <IEnumerable <User>, IEnumerable <UserDTO> >(result.Result))));
        }
        public IPagedQueryResult <T> FindPaged <T>(IPageOption pageOptions, string[] includes, ISpecification <T> additionalSpec = null) where T : BaseEntity <TId>
        {
            if (pageOptions == null)
            {
                throw new ArgumentNullException(nameof(pageOptions));
            }
            var spec = this.SpecificationBuilder.Create <T>(pageOptions.Filters);

            if (additionalSpec != null)
            {
                spec = spec.And(additionalSpec);
            }
            var entityQuery = new EntityPagedValueQuery <T>(spec, pageOptions.Take, pageOptions.Skip)
            {
                Sorts = pageOptions.Sorts
            };

            var entityQueryResult = entityQuery.Run(_dbContext.Set <T>(), this.Evaluator);
            var modelsQueryResult = new PagedQueryResult <T>(entityQueryResult.Result,
                                                             entityQueryResult.Take, entityQueryResult.Skip, entityQueryResult.Total);

            return(modelsQueryResult);
        }
Exemple #3
0
        public Page CreateMenu(string name, IPageOption pageOption)
        {
            var page = new Page(game.Frames);

            page.Y      = 0;
            page.X      = 0;
            page.Width  = game.RenderSystem.DisplayBounds.Width;
            page.Height = game.RenderSystem.DisplayBounds.Height;

            var members = pageOption.GetType().GetMembers().Where(t => t.GetCustomAttribute <ControlAttribute>(true) != null).ToList();

            members.Sort(Comparer <MemberInfo> .Create(
                             (a, b) =>
            {
                return(a.GetCustomAttribute <ControlAttribute>().Order.CompareTo(b.GetCustomAttribute <ControlAttribute>().Order));
            }));

            foreach (var m in members)
            {
                actions[m.GetCustomAttribute <ControlAttribute>(true).GetType()]?.Invoke(game.Frames, page, m.GetCustomAttribute <ControlAttribute>(true), m.GetCustomAttribute <DescriptionAttribute>());
            }

            return(page);
        }