// Summary: // Get the current exchange rate from the API repository and converts as ShowConversionDto. // // Parameters: // createConversionDto: // An instance to CreateConversionDto. // Return: // showConversionDto // An instance to ShowConversionDto private async Task <ShowConversionDto> CalculateValue(CreateConversionDto createConversionDto) { LatestExchangeRates latestExchangeRates = await _currencyRepository.GetLatestConversionRatesByCurrency("EUR"); ShowConversionDto showConversionDto = new ShowConversionDto(createConversionDto.FromCurrency, createConversionDto.ToCurrency, createConversionDto.Value); showConversionDto.ExchangeRate = CalculateExchangeRateValue(showConversionDto, latestExchangeRates); return(showConversionDto); }
// Summary: // It will convert the given value from source currency to target // // Parameters: // createConversionDto: // An instance to CreateConversionDto. // Return: // showConversionDto // An instance to ShowConversionDto public async Task <ShowConversionDto> Convert(CreateConversionDto createConversionDto) { ShowConversionDto showConversionDto = await CalculateValue(createConversionDto); return(showConversionDto); }
public async Task <ActionResult <ShowConversionDto> > ConvertSourceToDestinationCurrency([FromBody] CreateConversionDto createConversionDto) { try { ShowConversionDto showConversionDto = await this._currencyService.Convert(createConversionDto); if (showConversionDto.FromCurrency is null) { // need to log return(NotFound()); } return(Ok(showConversionDto)); } catch (Exception) { // need to log return(NotFound()); } }