public async Task <PaginationResult <DeviceListEntryVm> > Handle(GetDeviceListQuery request,
                                                                         CancellationToken cancellationToken)
        {
            var query = _applicationDbContext.Device
                        .Where(x => !x.IsDeleted);

            int count = await query.CountAsync(cancellationToken);

            var result = await query
                         .AddPagination(request.PageNumber, request.PageSize)
                         .Select(x => new DeviceListEntryVm
            {
                DeviceId         = x.DeviceId,
                DeviceName       = x.DeviceName,
                LastStatusUpdate = x.LastStatusUpdate,
                IsOnline         = x.IsOnline
            })
                         .ToListAsync(cancellationToken);

            return(new PaginationResult <DeviceListEntryVm>
            {
                PageSize = result.Count,
                PageNumber = request.PageNumber,
                ResultTotalCount = count,
                Result = result
            });
        }
 public override IList <DeviceModel> Handle(GetDeviceListQuery query)
 {
     return(_deviceData.GetAll().Select(x => x.MapToDeviceModel()).ToList());
 }
Example #3
0
 public Task <PaginationResult <DeviceListEntryVm> > GetDevicesList(GetDeviceListQuery query, bool withCache = true)
 {
     return(_apiClient.Get <GetDeviceListQuery, PaginationResult <DeviceListEntryVm> >("Devices/list", query,
                                                                                       withCache ? null : _apiClient.NoCacheHeader));
 }
Example #4
0
 public async Task <IActionResult> GetDeviceList([FromQuery] GetDeviceListQuery query)
 {
     return(Ok(await _mediator.Send(query)));
 }