Example #1
0
        private static async Task AddBook(Resgate.Client client)
        {
            string title, author;

            lock (guard)
            {
                Console.WriteLine("Enter book title:");
                title = Console.ReadLine();
                Console.WriteLine("Enter book author:");
                author = Console.ReadLine();
            }

            await client.Call("library.books", "new", new Book { title = title, author = author });
        }
Example #2
0
        static async Task Main(string[] args)
        {
            var settings = new Resgate.Settings(() => new Uri("ws://localhost:8080"));

            settings.Failed += (o, ev) =>
            {
                Console.WriteLine("Failed to connect due to " + ev.Reason.ToString());
                waitForInitial.Set();
            };
            settings.Error += (sender, eventArgs) =>
            {
                Console.WriteLine("Failed to subscribe " + eventArgs.Rid + " because of " +
                                  eventArgs.Error.Message);
            };

            using (var client = new Resgate.Client(settings))
            {
                using (var token =
                           await client.SubscribeCollection <Book>("library.books", Initial, Added, Changed, Removed))
                {
                    waitForInitial.WaitOne();
                    for (;;)
                    {
                        DisplayInfo();
                        var key = Console.ReadKey(true);
                        switch (key.KeyChar)
                        {
                        case 'a':
                        case 'A':
                            await AddBook(client);

                            break;

                        case 'q':
                        case 'Q':
                            return;
                        }
                    }
                }
            }
        }