public async Task <DummiesPage> GetDummiesAsync(DummiesPageRequest request, ServerCallContext context) { var correlationId = request.CorrelationId; var filter = new Commons.Data.FilterParams(request.Filter); var paging = new Commons.Data.PagingParams(request.Paging.Skip, request.Paging.Take, request.Paging.Total); var page = await _controller.GetPageByFilterAsync(correlationId, filter, paging); var data = new Google.Protobuf.Collections.RepeatedField <ProtoDummy>(); var response = new DummiesPage { Total = page.Total ?? 0 }; response.Data.AddRange(page.Data.Select(x => ConvertToPublic(x))); return(response); }
public async Task <DataPage <PublicDummy> > GetPageByFilterAsync(string correlationId, FilterParams filter, Commons.Data.PagingParams paging) { var request = new DummiesPageRequest { CorrelationId = correlationId, Paging = new Grpc.Protos.PagingParams() }; request.Filter.Add(filter); if (paging.Skip.HasValue) { request.Paging.Skip = paging.Skip.Value; } if (paging.Take.HasValue) { request.Paging.Take = Convert.ToInt32(paging.Take.Value); } var page = await CallAsync <DummiesPageRequest, DummiesPage>("get_dummies", request); var result = new DataPage <PublicDummy> { Data = page.Data.Select(x => ConvertToPublic(x)).ToList(), Total = page.Total }; return(result); }