public FibonacciNumberResponse FibonacciNumber(FibonacciNumberRequest request) { if (request == null) { throw new FaultException <ArgumentNullException>(new ArgumentNullException("request"), "null arguments are invalid"); } try { var result = new FibonacciNumberResponse(FibonacciManager.Calculate(request.n)); return(result); } catch (ArgumentOutOfRangeException exp) { throw new FaultException <ArgumentOutOfRangeException>(exp, exp.Message); } catch (Exception ex) { throw new FaultException(ex.Message); } }
public async Task <FibonacciNumberResponse> FibonacciNumberAsync(FibonacciNumberRequest request) { if (request == null) { throw new FaultException <ArgumentNullException>(new ArgumentNullException("request"), "null arguments are invalid"); } return(await Task.Run <FibonacciNumberResponse>(() => { try { var result = new FibonacciNumberResponse(FibonacciManager.Calculate(request.n)); return result; } catch (ArgumentOutOfRangeException exp) { throw new FaultException <ArgumentOutOfRangeException>(exp, exp.Message); } catch (Exception ex) { throw new FaultException(ex.Message); } })); }