Пример #1
0
        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);
        }
Пример #2
0
        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);
        }