private void MakeDelivery(object state) { DeliveryProgressChangedEvent?.Invoke(this, EventArgs.Empty); counter -= 1; if (counter == 0) { deliveryTimer?.Dispose(); DeliveryCompletedEvent?.Invoke(this, EventArgs.Empty); } }
/// <summary> /// Pubblica l'evento "Consegna completata da rider" su coda Order /// </summary> /// <param name="deliveryCompleted">Dati del messaggio</param> public void DeliveryCompleted(DeliveryCompletedEvent deliveryCompleted) { IBasicProperties props = _channel.CreateBasicProperties(); props.Type = nameof(DeliveryCompletedEvent); var body = MessageSerializationHelper.SerializeObjectToBin(deliveryCompleted); _channel.BasicPublish(exchange: string.Empty, routingKey: ApplicationEvents.OrderQueue, basicProperties: props, body: body); }