public override async Task <NumberResponse> Calculate(NumberRequest request, ServerCallContext context)
        {
            var response = new NumberResponse();

            if (request.Calcoption == CalculationOption.Sum)
            {
                //DI
                var sumClient = new SummationClient();
                var result    = await sumClient.GetSumAsync(new SummationService.Generated.NumberReq()
                {
                    Number = request.Number
                });

                response.Number = result.Number;
            }
            else
            {
                //DI
                var multiplyClient = new MultiplicationClient();
                var result         = await multiplyClient.GetMultiplicationAsync(new MultiplicationService.Generated.NumberReq()
                {
                    Number = request.Number
                });

                response.Number = result.Number;
            }
            return(response);
        }
Пример #2
0
 public NumberResponse NumberAdd([ModelBinder] NumberRequest request)
 {
     return(new NumberResponse()
     {
         Result = request.First + request.Second
     });
 }
Пример #3
0
 public NumberResponse NumberSub(NumberRequest request)
 {
     return(new NumberResponse()
     {
         Result = request.First - request.Second
     });
 }
        public async override Task <IsPrimeReply> IsPrime(NumberRequest request, ServerCallContext context)
        {
            bool isPrime = true;

            Parallel.For(2, request.Value / 2, (divisor, state) =>
            {
                if (request.Value % divisor == 0)
                {
                    isPrime = false;
                    state.Break();
                }
            });

            return(new IsPrimeReply()
            {
                IsPrime = isPrime
            });
        }
Пример #5
0
 public async Task <NumberResponse> CalcAsync(NumberRequest req)
 {
     return(await _client.CalculateAsync(req));
 }