/// <summary>
        /// Método utilizado para criar uma nova mensagem utilizando como base dados da ordem finalizada
        /// </summary>
        /// <param name="orderFinished"></param>
        /// <returns></returns>
        public Message GetMessage(OrderFinishedMessage orderFinished)
        {
            var orderFinishedSerialized = JsonConvert.SerializeObject(orderFinished);
            var orderFinishedByteArray  = Encoding.UTF8.GetBytes(orderFinishedSerialized);

            return(new Message
            {
                Body = orderFinishedByteArray,
                MessageId = Guid.NewGuid().ToString(),
                Label = orderFinished.OrderFinishedId.ToString()
            });
        }
        private static Task Handle(Message message, CancellationToken arg2)
        {
            OrderFinishedMessage orderFinishedMessage = new OrderFinishedMessage()
            {
                OrderFinishedId = new Guid(message.Label)
            };


            Random waitTime = new Random();
            int    seconds  = waitTime.Next(5 * 1000, 21 * 1000);

            System.Threading.Thread.Sleep(seconds);


            _orderFinishedService.AddToMessageList(orderFinishedMessage);
            _orderFinishedService.SendMessagesAsync();


            Thread.Sleep(40000);

            return(Task.CompletedTask);
        }
 /// <summary>
 /// Método utilizado para adicionar novo item na lista de mensagens
 /// </summary>
 /// <param name="orderFinished"></param>
 public void AddToMessageList(OrderFinishedMessage orderFinished)
 {
     _messages.Add(this.GetMessage(orderFinished));
 }