public Pagination <GetFeatureDto> Execute(FeatureQuery request)
        {
            var query = Context.Features.AsQueryable();

            if (request.Name != null)
            {
                query = query.Where(f => f.Name.ToLower().Contains(request.Name.ToLower()));
            }

            var totalCount = query.Count();

            query = query.Skip((request.PageNumber - 1) * request.PerPage).Take(request.PerPage);

            var pagesCount = (int)Math.Ceiling((double)totalCount / request.PerPage);

            return(new Pagination <GetFeatureDto>
            {
                Total = totalCount,
                CurrentPage = request.PageNumber,
                Pages = pagesCount,
                Data = query.Select(f => new GetFeatureDto
                {
                    Name = f.Name
                })
            });
        }
Exemple #2
0
 public IActionResult Get([FromQuery] FeatureQuery query)
 {
     try
     {
         return(Ok(getFeaturesCommand.Execute(query)));
     }
     catch (EntityNotFoundException)
     {
         return(NotFound());
     }
 }
 public IEnumerable <GetPostFeatureDto> Execute(FeatureQuery query)
 {
     return(Context.Posts.Include(pf => pf.PostFeatures)
            .ThenInclude(p => p.Post).AsQueryable()
            .Select(pf => new GetPostFeatureDto
     {
         Id = pf.Id,
         FuelId = pf.FuelId,
         ModelId = pf.ModelId,
         Name = pf.PostFeatures.Select(f => f.Feature.Name).ToString(),
         UserId = pf.UserId
     }));
 }
Exemple #4
0
        public ActionResult GetDynamicFeature(string chaintypename, int chainid, long chainindex, int featureid, string path)
        {
            Result result;

            if (GetChainType(chaintypename, out var chainType))
            {
                if (_node.ChainManager.GetChain(chainType, chainid, (uint)chainindex) is FeatureChain featureChain)
                {
                    var queryHandler = featureChain.GetFeatureQueryHandler((ushort)featureid);
                    if (queryHandler != null)
                    {
                        var query = FeatureQuery.Parse(queryHandler.FeatureId, path);
                        if (query != null)
                        {
                            result = queryHandler.QueryFeature(query);
                        }
                        else
                        {
                            result = Result.InvalidQuery;
                        }
                    }
                    else
                    {
                        result = Result.FeatureNotFound;
                    }
                }
                else
                {
                    result = Result.ChainNotFound;
                }
            }
            else
            {
                result = Result.InvalidQuery;
            }

            return(File(result.ToByteArray(), "application/octet-stream", "result.data"));
        }
Exemple #5
0
 public IActionResult Get([FromBody] FeatureQuery query)
 {
     return(Ok(_getPostFeatures.Execute(query)));
 }