예제 #1
0
		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);
		}
예제 #2
0
        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));
        }
예제 #3
0
        public void Consume(QueryInventoryLevel message)
        {
            var status = new PartInventoryLevelStatus(message.PartNumber, DateTime.Now.Minute, DateTime.Now.Second);

            CurrentMessage.Respond(status);
        }