/// <summary>
        /// Converts input temperature value to new value unit based on the given conversion unit input
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public double ConvertTemperature(TemptureConversionRequest request)
        {
            try
            {
                _logger.LogInformation($"Request object {request}");

                return(request.ConversionUnit switch
                {
                    TemperatureUnit.CelsiusToFahrenheit => (1.8 * request.Value) + 32,
                    TemperatureUnit.CelsiusToKelvin => request.Value + 273.15,
                    TemperatureUnit.FahrenheitToCelsius => (request.Value - 32) / 1.8,
                    TemperatureUnit.FahrenheitToKelvin => ((request.Value - 32) / 1.8) + 273.15,
                    TemperatureUnit.KelvinToCelsius => request.Value - 273.15,
                    TemperatureUnit.KelvinToFahrenheit => (request.Value - 273.15) * 1.8 + 32,
                    _ => request.Value,
                });
            }
 public IActionResult Get([FromQuery] TemptureConversionRequest request)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(BadRequest(ModelState));
         }
         var convertedValue = _temperatureConversionService.ConvertTemperature(request);
         return(Ok(convertedValue));
     }
     catch (Exception ex)
     {
         _logger.LogError($"Error occured while converting temperature. Error - {ex.Message}\n {ex.StackTrace}");
         return(StatusCode(StatusCodes.Status500InternalServerError));
     }
 }