Example #1
0
        public static async Task GetByBadgeNumber(XprtService.XprtServiceClient client)
        {
            var res = await client.GetByBadgeNumberAsync(new Messages.GetByBadgeNumberRequest()
            {
                BadgeNumber = 2080
            });

            Console.WriteLine(res.Xprt);
        }
Example #2
0
 public static async Task GetAll(XprtService.XprtServiceClient client)
 {
     using (var call = client.GetAll(new Messages.GetAllRequest()))
     {
         var responseStream = call.ResponseStream;
         while (await responseStream.MoveNext())
         {
             Console.WriteLine(responseStream.Current.Xprt);
         }
     }
 }
Example #3
0
        public static async Task SendMetadataAsync(XprtService.XprtServiceClient client)
        {
            Metadata md = new Metadata();

            md.Add("username", "svantilborg");
            md.Add("password", "password1");
            try
            {
                await client.GetByBadgeNumberAsync(new Messages.GetByBadgeNumberRequest(), md);
            }
            catch (Exception e)
            {
                // Just swallow the expected exception
            }
        }
Example #4
0
        private static async Task SaveAll(XprtService.XprtServiceClient client)
        {
            var xprtz = new List <Xprt>()
            {
                new Xprt {
                    BadgeNumber   = 123,
                    FirstName     = "Stefan",
                    LastName      = "van Tilborg",
                    GeboorteDatum = ToUnixTimestamp(new DateTime(1981, 8, 8)),
                    Skills        = { "gRPC", ".Net Core" },
                },
                new Xprt {
                    BadgeNumber   = 234,
                    FirstName     = "Jasper",
                    LastName      = "Jak",
                    GeboorteDatum = ToUnixTimestamp(new DateTime(1960, 1, 1)),
                    Skills        = { "Slap ouwehoeren", "Salaris uitbetalen" },
                }
            };

            using (var call = client.SaveAll())
            {
                var requestStream  = call.RequestStream;
                var responseStream = call.ResponseStream;

                var responseTask = Task.Run(async() =>
                {
                    while (await responseStream.MoveNext())
                    {
                        Console.WriteLine("Saved: " + responseStream.Current.Xprt);
                    }
                });

                foreach (var x in xprtz)
                {
                    await requestStream.WriteAsync(new XprtRequest()
                    {
                        Xprt = x
                    });
                }
                await call.RequestStream.CompleteAsync();

                await responseTask;
            }
        }
Example #5
0
        public static async Task AddPhoto(XprtService.XprtServiceClient client)
        {
            Metadata md = new Metadata();

            md.Add("badgenumber", "2080");

            FileStream fs = File.OpenRead("Penguins.jpg");

            using (var call = client.AddPhoto())
            {
                var stream = call.RequestStream;
                while (true)
                {
                    byte[] buffer  = new byte[64 * 1024];
                    int    numRead = await fs.ReadAsync(buffer, 0, buffer.Length);

                    if (numRead == 0)
                    {
                        break;
                    }
                    if (numRead < buffer.Length)
                    {
                        Array.Resize(ref buffer, numRead);
                    }

                    await stream.WriteAsync(new Messages.AddPhotoRequest()
                    {
                        Data = ByteString.CopyFrom(buffer)
                    });
                }
                await stream.CompleteAsync();

                var res = await call.ResponseAsync;

                Console.WriteLine(res.IsOk);
            }
        }
Example #6
0
        static async Task Main(string[] args)
        {
            // The port number(5001) must match the port of the gRPC server.

            //var channel = GrpcChannel.ForAddress("https://*****:*****@"ca.crt");
            //var cert = File.ReadAllText(@"client.crt");
            //var key = File.ReadAllText(@"client.key");
            //var keypair = new KeyCertificatePair(cert, key);
            //SslCredentials creds = new SslCredentials(cacert, keypair);

            var channel = GrpcChannel.ForAddress("https://localhost:9000");
            var client  = new XprtService.XprtServiceClient(channel);


            while (true)
            {
                Console.Clear();
                Console.WriteLine("Kies een actie, gevolgd door enter:");
                Console.WriteLine("1: SendMetadataAsync");
                Console.WriteLine("2: GetByBadgeNumber");
                Console.WriteLine("3: GetAll");
                Console.WriteLine("4: AddPhoto");
                Console.WriteLine("5: SaveAll");
                Console.WriteLine("6: EXIT");

                var input = Console.ReadLine();
                try
                {
                    int option = int.Parse(input);

                    switch (option)
                    {
                    case 1:
                        SendMetadataAsync(client).Wait();
                        break;

                    case 2:
                        GetByBadgeNumber(client).Wait();
                        break;

                    case 3:
                        GetAll(client).Wait();
                        break;

                    case 4:
                        AddPhoto(client).Wait();
                        break;

                    case 5:
                        SaveAll(client).Wait();
                        break;

                    case 6:

                        return;

                    default:
                        Console.WriteLine($"Onbekende optie: {option}");
                        break;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                Console.WriteLine("");
                Console.WriteLine("Geef enter om door te gaan.");
                Console.ReadKey();
            }
        }