using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.ServiceBus.Messaging;

namespace ServiceBusQueue
{
    class Program
    {
        private static string _conn = "Endpoint=sb://timbus.servicebus.windows.net/;SharedAccessKeyName=MyPolicy;SharedAccessKey=/gMS187tobtyccFjaZPbQXQBjrIM+dCErwn3ahXWi0M=;EntityPath=MyQueue";
        private static QueueClient _client = QueueClient.CreateFromConnectionString(_conn);

        static void Main(string[] args)
        {
            ////sendmessage
            //for (int i = 0; i < 10; i++)
            //{
            //    string str = string.Format($"Queue {i}");
            //    SendMessage(str);
            //}

            // or read
            ReadMessage();

            Console.WriteLine("Ok!");
            Console.ReadLine();
        }

        static void SendMessage(string msg)
        {
            var message = new BrokeredMessage(msg);
            _client.Send(message);
        }

        static void ReadMessage()
        {
            var options = new OnMessageOptions
            {
                AutoComplete = false
            };

            // reads ALL from queue in REAL-time

            _client.OnMessage(m =>
            {
                var msg = m.GetBody<string>();

                //if (msg == "Hello World!")
                {
                    Console.WriteLine(msg);
                    m.Complete();
                }

            }, options);
        }
    }
}