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); })); }
public void SetOrderDelivered() { TimeRemainingWhenDelivered = RemainingTime; IsDelivered = true; StopCountdown(); OnDelivered?.Invoke(this); }