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); }
public NumberResponse NumberAdd([ModelBinder] NumberRequest request) { return(new NumberResponse() { Result = request.First + request.Second }); }
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 }); }
public async Task <NumberResponse> CalcAsync(NumberRequest req) { return(await _client.CalculateAsync(req)); }