コード例 #1
0
        public async Task <QueryResultResource <VehicleResource> > GetAllVehicleResource(VehicleQuery vehicleQuery)
        {
            var result = new QueryResultResource <VehicleResource>();

            var query = context.Vehicles
                        .Include(v => v.Model)
                        .ThenInclude(m => m.Make)
                        .AsQueryable();

            query = query.ApplyFiltering(vehicleQuery);

            var columnsMap = new Dictionary <string, Expression <Func <Vehicle, object> > >
            {
                ["make"]        = v => v.Model.Make.Name,
                ["model"]       = v => v.Model.Name,
                ["contactName"] = v => v.ContactName
            };

            query = query.ApplyOrdering(vehicleQuery, columnsMap);

            result.TotalItems = await query.CountAsync();

            result.Items = await query.ApplyPaging(vehicleQuery)
                           .ProjectTo <VehicleResource>(mapper.ConfigurationProvider)
                           .ToListAsync();

            return(result);
        }
コード例 #2
0
 private void MockGetAllCadnidatesAsync()
 {
     _service.Setup(c => c.GetAllCandidatesAsync(It.IsAny <FilterResource>())).Returns(async() =>
     {
         await Task.Yield();
         var result = new QueryResultResource <CandidateResource>()
         {
             Items = _candidateResources
         };
         return(result);
     });
 }
コード例 #3
0
        public async Task <IHttpActionResult> GetUsersAsync(string filter = null, int start = 0, int count = 100)
        {
            var result = await userManager.QueryUsersAsync(filter, start, count);

            if (result.IsSuccess)
            {
                var meta = await GetMetadataAsync();

                var resource = new QueryResultResource(result.Result, Url, meta.UserMetadata);
                return(Ok(resource));
            }

            return(BadRequest(result.ToError()));
        }