Ejemplo n.º 1
0
        private async Task LocalizeFlatResults(FlatResults flatResults, Guid clubId)
        {
            var settings = await _dbContext.Clubs
                           .Where(c =>
                                  c.Id == clubId
                                  ).Select(c => c.WeatherSettings).SingleOrDefaultAsync()
                           .ConfigureAwait(false);

            if (settings == null)
            {
                return;
            }
            foreach (var race in flatResults.Races)
            {
                race.WindSpeed =
                    _converter.Convert(
                        race.WindSpeedMeterPerSecond,
                        _converter.MeterPerSecond,
                        settings?.WindSpeedUnits)?.ToString("N0");
                race.WindGust =
                    _converter.Convert(
                        race.WindSpeedMeterPerSecond,
                        _converter.MeterPerSecond,
                        settings?.WindSpeedUnits)?.ToString("N0");
                race.WindSpeedUnits = settings?.WindSpeedUnits;
            }
        }
Ejemplo n.º 2
0
        public void Run(string filePath)
        {
            var allLines = File.ReadAllLines(filePath);

            List <List <string> > lineBlocks = GetLineBlocks(allLines);

            Parallel.ForEach(lineBlocks, (lines) =>
            {
                if (_validationService.IsValid(lines))
                {
                    var result = _conversionService.Convert(ToConversionRequest(lines), ToExchangesRates(lines));
                    if (result.IsSuccess)
                    {
                        Console.WriteLine(result.Amount);
                    }
                    else
                    {
                        Console.WriteLine(result.ErrorMessage);
                    }
                }
                else
                {
                    Console.WriteLine(ErrorMessage.InconsistentInputData);
                    Console.WriteLine($"the file {filePath} contains inconsistent datas.");
                }
            });
        }
Ejemplo n.º 3
0
        public override object Convert(object source, Type sourceType, Type targetType)
        {
            if (source == null)
            {
                return(null);
            }

            var targetElementType = ConversionUtils.GetElementType(targetType);

            if (targetElementType == null)
            {
                throw new InvalidOperationException("No target element type");
            }

            var enumerable = source as IEnumerable;
            var len        = ConversionUtils.Count(enumerable);

            var array = Array.CreateInstance(targetElementType, len);
            var i     = 0;

            foreach (var sourceElement in enumerable)
            {
                var targetElement = _conversionService.Convert(sourceElement, sourceElement.GetType(), targetElementType);
                array.SetValue(targetElement, i++);
            }

            return(array);
        }
Ejemplo n.º 4
0
 public object FromMessage(IMessage message, Type targetClass)
 {
     if (_conversionService.CanConvert(message.Payload.GetType(), targetClass))
     {
         return(_conversionService.Convert(message.Payload, message.Payload.GetType(), targetClass));
     }
     else
     {
         return(null);
     }
 }
Ejemplo n.º 5
0
        public static string ToString(IEnumerable collection, Type targetType, IConversionService conversionService)
        {
            var sj = new StringBuilder();

            foreach (var sourceElement in collection)
            {
                var targetElement = conversionService.Convert(sourceElement, sourceElement.GetType(), targetType);
                sj.Append(targetElement.ToString());
                sj.Append(DELIMITER);
            }

            return(sj.ToString(0, sj.Length - 1));
        }
Ejemplo n.º 6
0
        protected void SetProperty(object to, PropertyInfo toInfo, object from, PropertyInfo fromInfo)
        {
            object value = fromInfo?.GetValue(from) ?? from;

            value = conversionService.Convert(value, toInfo.PropertyType);

            if (value == null)
            {
                return;
            }

            toInfo.SetValue(to, value);
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Convert([FromForm] FileConversionRequestForm fileConversionRequest)
        {
            _logger.LogInformation($"Converting {fileConversionRequest.Document.FileName} to {fileConversionRequest.FileFormat}");
            await using var ms = new MemoryStream();
            await fileConversionRequest.Document.CopyToAsync(ms);

            var result = await _conversionService.Convert(new FileConversionRequest
            {
                FileName            = fileConversionRequest.Document.FileName,
                FileContents        = ms.ToArray(),
                ConversionExtension = fileConversionRequest.FileFormat
            });

            await ms.ReadAsync(result.FileContents);

            return(File(result.FileContents, "application/octet-stream", result.FileName));
        }
Ejemplo n.º 8
0
        public override object FromMessage(IMessage message, Type targetClass)
        {
            var payload = message.Payload;

            if (_conversionService.CanConvert(payload.GetType(), targetClass))
            {
                try
                {
                    return(_conversionService.Convert(payload, payload.GetType(), targetClass));
                }
                catch (ConversionException ex)
                {
                    throw new MessageConversionException(message, "Failed to convert message payload '" + payload + "' to '" + targetClass.Name + "'", ex);
                }
            }

            return(targetClass.IsInstanceOfType(payload) ? payload : null);
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> Process(int fromId, int toId, decimal amount)
        {
            decimal result;

            try
            {
                var from = await _currencyService.GetAsync(fromId);

                var to = await _currencyService.GetAsync(toId);

                result = await _conversionService.Convert(from, to, amount);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong: {ex}");
                return(StatusCode(500, "Internal server error"));
            }

            return(Json(result));
        }
Ejemplo n.º 10
0
        private void ConvertFile()
        {
            var newData = ConversionService.Convert(tbxOriginalPlayList.Text);

            tbxNewPlayList.Text = newData;
        }