public IAsyncResult BeginCheckInventory(string partNumber, AsyncCallback callback, object state) { _partNumber = partNumber; _requestId = CombGuid.Generate(); return _bus.MakeRequest(bus => bus.Publish(new QueryInventoryLevel(_requestId, partNumber), context => context.SendResponseTo(bus))) .When<PartInventoryLevelStatus>().RelatedTo(_partNumber).IsReceived(message => { _status = message; }) .TimeoutAfter(30.Seconds()) .BeginSend(callback, state); }
public IAsyncResult BeginCheckInventory(string partNumber, AsyncCallback callback, object state) { _partNumber = partNumber; _requestId = CombGuid.Generate(); return(_bus.MakeRequest(bus => bus.Publish(new QueryInventoryLevel(_requestId, partNumber), context => context.SendResponseTo(bus))) .When <PartInventoryLevelStatus>().RelatedTo(_partNumber).IsReceived(message => { _status = message; }) .TimeoutAfter(30.Seconds()) .BeginSend(callback, state)); }
public void Consume(QueryInventoryLevel message) { var status = new PartInventoryLevelStatus(message.PartNumber, DateTime.Now.Minute, DateTime.Now.Second); CurrentMessage.Respond(status); }