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>())); }