public override async Task AllRooms(Protos.AllRoomsRequest request, IServerStreamWriter <AllRoomsResponse> responseStream, ServerCallContext context) { foreach (var item in _serviceContract.AllRooms()) { var response = new Protos.AllRoomsResponse { Value = item }; await responseStream.WriteAsync(response); } }
public async IAsyncEnumerable <Room> AllRoomsAsync() { var request = new Protos.AllRoomsRequest(); var streamingCall = _client.AllRooms(request); await foreach (var response in streamingCall.ResponseStream.ReadAllAsync()) { var returnValue = response.Value; yield return(returnValue); } }
public IEnumerable <Room> AllRooms() { var request = new Protos.AllRoomsRequest(); var streamingCall = _client.AllRooms(request); while (streamingCall.ResponseStream.MoveNext().GetAwaiter().GetResult()) { var response = streamingCall.ResponseStream.Current; var returnValue = (global::HotelCore.WcfProxy.Room)response.Value; yield return(returnValue); } }
public async Task <IEnumerable <Room> > AllRoomsAsync() { var request = new Protos.AllRoomsRequest(); var streamingCall = _client.AllRooms(request); var list = new List <Room>(); while (await streamingCall.ResponseStream.MoveNext()) { var response = streamingCall.ResponseStream.Current; var returnValue = response.Value; list.Add(returnValue); } return(list); }
public override async Task AllRooms(Protos.AllRoomsRequest request, IServerStreamWriter <AllRoomsResponse> responseStream, ServerCallContext context) { try { foreach (var item in _serviceContract.AllRooms()) { var response = new Protos.AllRoomsResponse { Value = (Protos.Room)item }; await responseStream.WriteAsync(response); } } catch (Exception ex) { _logger.LogError(ex, "Error invoking AllRooms"); throw new RpcException(new Status(StatusCode.Internal, ex.Message)); } }