public override Task <CalorieResponse> Calories(CalorieRequest request, ServerCallContext context)
        {
            int sum_result = request.FirstNumber +
                             request.SecondNumber +
                             request.ThirdNumber +
                             request.FourthNumber +
                             request.FifthNumber;

            return(Task.FromResult(new CalorieResponse()
            {
                SumResult = sum_result
            }));
        }
示例#2
0
        static async Task Main(string[] args)
        {
            Channel channel = new Channel(target, ChannelCredentials.Insecure);

            await channel.ConnectAsync().ContinueWith((task) =>
            {
                if (task.Status == TaskStatus.RanToCompletion)
                {
                    Console.WriteLine("The client connected successfully");
                }
            });

            // CALORIES
            var calorieClient = new WatchService.WatchServiceClient(channel);

            var calorieRequest = new CalorieRequest()
            {
                FirstNumber  = 2453,
                SecondNumber = 1710,
                ThirdNumber  = 2300,
                FourthNumber = 1943,
                FifthNumber  = 1856
            };

            var calorieResponse = calorieClient.Calories(calorieRequest);

            Console.WriteLine("Your total number of calories this week is: " + calorieResponse.SumResult);

            //channel.ShutdownAsync().Wait();
            //Console.ReadKey();

            // AVERAGE SLEEP
            var sleepClient = new WatchService.WatchServiceClient(channel);
            var sleepStream = sleepClient.SleepAverage();

            foreach (int number in Enumerable.Range(6, 8))
            {
                var sleepRequest = new SleepAverageRequest()
                {
                    Number = number
                };

                await sleepStream.RequestStream.WriteAsync(sleepRequest);
            }

            await sleepStream.RequestStream.CompleteAsync();

            var response = await sleepStream.ResponseAsync;

            Console.WriteLine("Your average sleep this week is: " + response.Average + " hrs");

            //channel.ShutdownAsync().Wait();
            //Console.ReadKey();


            // MAX HEART RATE
            var maxHeartClient = new WatchService.WatchServiceClient(channel);
            var maxHeartStream = maxHeartClient.MaxHeartRate();

            var responseReaderTask = Task.Run(async() =>
            {
                while (await maxHeartStream.ResponseStream.MoveNext())
                {
                    Console.WriteLine("Your current heart rate is: " + maxHeartStream.ResponseStream.Current.Maximum);
                }
            });

            int[] numbers = { 66, 77, 73, 87, 91, 101 };

            foreach (var number in numbers)
            {
                await maxHeartStream.RequestStream.WriteAsync(new MaxHeartRateRequest()
                {
                    Number = number
                });
            }

            await maxHeartStream.RequestStream.CompleteAsync();

            await responseReaderTask;

            channel.ShutdownAsync().Wait();
            Console.ReadKey();
        }