public static void Main()
        {
            var service = new DistanceCalculatorServiceClient();

            var result = service.CalcDistance(new Point { X = 5, Y = 10 }, new Point { X = 20, Y = 30 });

            Console.WriteLine("Result from SOAP service: {0}", result);

            using (WebClient webClient = new WebClient())
            {
                var calcDistanceRequest = new CalculateDistanceRequest
                {
                    StartPoint = new RestService.Models.Point { X = 15, Y = 23 },
                    EndPoint = new RestService.Models.Point { X = 35, Y = 2 }
                };

                webClient.Headers.Set("Content-type", "application/json");

                var distanceRequestAsJsonString = JsonConvert.SerializeObject(calcDistanceRequest);
                var response = webClient.UploadString(
                    "http://localhost:31009/api/calculate-distance",
                    distanceRequestAsJsonString);

                Console.WriteLine("Result from REST service: {0}", response);
                Console.ReadLine();
            }
        }
Exemplo n.º 2
0
        public async Task <List <(double?distance, string userId)> > CalculateUsersDistances(string theUserId, List <string> usersIds)
        {
            var request = new CalculateDistanceRequest();

            request.TheUserId = theUserId;
            usersIds.ForEach(uid => request.UserIds.Add(uid));

            var result = await _grpcClient.CalculateDistanceAsync(request);

            return(result.Distances.Select(d => (d.Distance, d.UserId)).ToList());
        }
        public IHttpActionResult CalculateDistance(CalculateDistanceRequest request)
        {
            if (!this.ModelState.IsValid)
            {
                return this.BadRequest();
            }

            int deltaX = request.StartPoint.X - request.EndPoint.X;
            int deltaY = request.StartPoint.Y - request.EndPoint.Y;
            double result = Math.Sqrt((deltaX * deltaX) + (deltaY * deltaY));

            return this.Ok(result);
        }
Exemplo n.º 4
0
        public override async Task <DistancesResponse> CalculateDistance(CalculateDistanceRequest request, ServerCallContext context)
        {
            var userIds   = request.UserIds.ToList();
            var theUserId = request.TheUserId;

            var distances = await _distanceCalcultaor.CalculateDistancesAsync(theUserId, userIds);

            var distanceResponse = new DistancesResponse();

            distances.ForEach(distance => distanceResponse.Distances.Add(new DistanceModel
            {
                Distance = distance.distance,
                UserId   = distance.userId
            }));

            return(distanceResponse);
        }