public void CalculateNextNumber(CalculateNextNumberRequestModel model, [FromUri] Guid calculationId) { var currentNumber = model.CurrentNumber; var tempFilePath = GetFilePathByCalculationId(calculationId); var previousNumber = GetPreviousNumberFromFile(tempFilePath); long nextNumber; try { nextNumber = checked (previousNumber + currentNumber); } catch (OverflowException) { SendResultToQueue(PredefinedCalculationEndValue, calculationId); return; } WriteNumberToFile(tempFilePath, nextNumber); SendResultToQueue(nextNumber, calculationId); }
private void SendNumber(long number, Guid calculationId) { using (var apiClient = new ApiClient(_apiUrl)) { var requestModel = new CalculateNextNumberRequestModel { CurrentNumber = number }; apiClient.CalculateNextNumber(requestModel, calculationId).Wait(); } }
public async Task CalculateNextNumber(CalculateNextNumberRequestModel calculateNextNumberRequest, Guid calculationId) { var message = GetHttpMessage(calculateNextNumberRequest, $"fibonacciCalculation/{calculationId}/calculateNextNumber", HttpMethod.Post); await _httpClient.SendAsync(message); }