Exemple #1
0
        public override async Task <GetStoresByIdsResponse> GetStoresByIds(
            GetStoresByIdsRequest request,
            ServerCallContext context)
        {
            var result = await _mediator.Send(
                new GetStoresByIdsQuery { Ids = request.Ids.Select(x => x.ConvertTo <Guid>()) });

            var response = new GetStoresByIdsResponse();

            response.Stores.AddRange(result.ToList());
            return(response);
        }
        public async Task <IReadOnlyDictionary <Guid, StoreDto> > GetStoresAsync(
            IReadOnlyCollection <Guid> storeIds,
            CancellationToken cancellationToken)
        {
            var headers  = _httpContext.HttpContext.Request.Headers;
            var metadata = new Metadata();
            // todo: will propagate headers to grpc headers

            var request = new GetStoresByIdsRequest();

            request.Ids.AddRange(storeIds.Select(x => x.ToString()));

            var response = await _client.GetStoresByIdsAsync(
                request,
                metadata,
                DateTime.UtcNow + TimeSpan.FromSeconds(10));

            return(response.Stores.ToDictionary(x => x.Id.ConvertTo <Guid>()));
        }