private List <ImportParameter> ParseImportParameters(UserImport import, ImportParametersModel parameters) { var result = new List <ImportParameter>(); if (!string.IsNullOrWhiteSpace(parameters.DateFormat)) { result.Add(new ImportParameter { Import = import, ParameterName = ImportParameters.DataTimeFormat.ToString(), ParameterValue = parameters.DateFormat }); } if (!string.IsNullOrWhiteSpace(parameters.NumericSeparator)) { result.Add(new ImportParameter { Import = import, ParameterName = ImportParameters.NumericSeparator.ToString(), ParameterValue = parameters.NumericSeparator }); } result.Add(new ImportParameter { Import = import, ParameterName = ImportParameters.SetEmptyValueAsNull.ToString(), ParameterValue = parameters.EmptyValueIsNull.ToString() }); return(result); }
private ParseCellResult ParseCellValue( string value, ImportParametersModel importParameters, ImportHeaderParameters headerParameters) { if ((importParameters.EmptyValueIsNull && string.IsNullOrWhiteSpace(value)) || "null".Equals(value, StringComparison.CurrentCultureIgnoreCase)) { return(new ParseCellResult { Success = true, ResultValue = null }); } switch (headerParameters.DataType) { case ImportDataTypes.Date: { if (!string.IsNullOrWhiteSpace(importParameters.DateFormat)) { DateTime resultValue; if (DateTime.TryParseExact( value, importParameters.DateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out resultValue)) { return(new ParseCellResult { Success = true, ResultValue = resultValue.ToString() }); } else { return(new ParseCellResult { Success = false, ErrorMessage = $"Невдалось розпізнати значення {headerParameters.HeaderName}." }); } } else { DateTime resultValue; if (DateTime.TryParse(value, out resultValue)) { return(new ParseCellResult { Success = true, ResultValue = resultValue.ToString() }); } else { return(new ParseCellResult { Success = false, ErrorMessage = $"Невдалось розпізнати значення {headerParameters.HeaderName}." }); } } } case ImportDataTypes.Numeric: { if (!string.IsNullOrWhiteSpace(importParameters.NumericSeparator)) { double resultValue; if (TryParseNumber(value, importParameters.NumericSeparator, out resultValue)) { return(new ParseCellResult { Success = true, ResultValue = resultValue.ToString() }); } else { return(new ParseCellResult { Success = false, ErrorMessage = $"Невдалось розпізнати значення {headerParameters.HeaderName}." }); } } else { double resultValue; if (Double.TryParse(value, out resultValue)) { return(new ParseCellResult { Success = true, ResultValue = resultValue.ToString() }); } else { return(new ParseCellResult { Success = false, ErrorMessage = $"Невдалось розпізнати значення {headerParameters.HeaderName}." }); } } } default: return(new ParseCellResult { Success = true, ResultValue = value }); } }