Exemplo n.º 1
0
        public Task SubscribeAsync()
        {
            var consumer = new EventingBasicConsumer(_channel);

            consumer.Received += (sender, e) => OnDelivered?.Invoke(this, new DeliverEventArgs(e.Body,
                                                                                               new
            {
                e.BasicProperties,
                e.ConsumerTag,
                e.DeliveryTag,
                e.Exchange,
                e.Redelivered,
                e.RoutingKey,
            }, _channel));
            consumer.Shutdown += (sender, e) => OnShutdown?.Invoke(this, new Infrastructure.ShutdownEventArgs(e.Cause, new
            {
                e.ClassId,
                e.Initiator,
                e.MethodId,
                e.ReplyCode,
                e.ReplyText
            }));
            return(Task.Run(() =>
            {
                _channel.BasicConsume(_queue.QueueName, false, consumer);
            }));
        }
Exemplo n.º 2
0
 public void SetOrderDelivered()
 {
     TimeRemainingWhenDelivered = RemainingTime;
     IsDelivered = true;
     StopCountdown();
     OnDelivered?.Invoke(this);
 }