From e09c62483f083da6ea5fc0862f36aae081f2d99f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20Venegas=20Vel=C3=A1squez?= Date: Sat, 11 Mar 2017 14:32:21 -0300 Subject: [PATCH] Correccion Error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se realiza un trim antes de intentar parsear un texto a número, fecha o booleano --- .../Properties/AssemblyInfo.cs | 4 ++-- .../Engines/Excel/ExcelImportEngine.cs | 12 ++++++------ .../Properties/AssemblyInfo.cs | 4 ++-- ...amica.Framework.Exportable.1.3.5.26099.nupkg | Bin 0 -> 22898 bytes 4 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 src/Infodinamica.Framework.Exportable/NugetReleases/Infodinamica.Framework.Exportable.1.3.5.26099.nupkg diff --git a/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable.Resources/Properties/AssemblyInfo.cs b/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable.Resources/Properties/AssemblyInfo.cs index c9b6f82..7491b61 100644 --- a/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable.Resources/Properties/AssemblyInfo.cs +++ b/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable.Resources/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // Puede especificar todos los valores o establecer como predeterminados los números de compilación y de revisión // mediante el carácter '*', como se muestra a continuación: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.3.4.0")] -[assembly: AssemblyFileVersion("1.3.4.0")] +[assembly: AssemblyVersion("1.3.5.0")] +[assembly: AssemblyFileVersion("1.3.5.0")] diff --git a/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable/Engines/Excel/ExcelImportEngine.cs b/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable/Engines/Excel/ExcelImportEngine.cs index d5420c2..95cde23 100644 --- a/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable/Engines/Excel/ExcelImportEngine.cs +++ b/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable/Engines/Excel/ExcelImportEngine.cs @@ -212,9 +212,9 @@ private bool TryGetNumber(ICell cell, out double returnValue) returnValue = cell.NumericCellValue; return true; case CellType.String: - return double.TryParse(cell.StringCellValue, out returnValue); + return double.TryParse(cell.StringCellValue.Trim(), out returnValue); case CellType.Unknown: - return double.TryParse(cell.StringCellValue, out returnValue); + return double.TryParse(cell.StringCellValue.Trim(), out returnValue); default: return false; } @@ -306,9 +306,9 @@ private bool TryGetBool(ICell cell, out bool returnValue) else return false; case CellType.String: - return bool.TryParse(cell.StringCellValue, out returnValue); + return bool.TryParse(cell.StringCellValue.Trim(), out returnValue); case CellType.Unknown: - return bool.TryParse(cell.StringCellValue, out returnValue); + return bool.TryParse(cell.StringCellValue.Trim(), out returnValue); default: return false; } @@ -347,9 +347,9 @@ private bool TryGetDate(ICell cell, out DateTime returnValue) case CellType.Numeric: return DateTime.TryParse(cell.NumericCellValue.ToString(), out returnValue); case CellType.String: - return DateTime.TryParse(cell.StringCellValue.ToString(), out returnValue); + return DateTime.TryParse(cell.StringCellValue.Trim(), out returnValue); case CellType.Unknown: - return DateTime.TryParse(cell.StringCellValue.ToString(), out returnValue); + return DateTime.TryParse(cell.StringCellValue.Trim(), out returnValue); default: return false; } diff --git a/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable/Properties/AssemblyInfo.cs b/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable/Properties/AssemblyInfo.cs index 132519b..aa9f088 100644 --- a/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable/Properties/AssemblyInfo.cs +++ b/src/Infodinamica.Framework.Exportable/Infodinamica.Framework.Exportable/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // Puede especificar todos los valores o establecer como predeterminados los números de compilación y de revisión // mediante el carácter '*', como se muestra a continuación: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.3.4.*")] -[assembly: AssemblyFileVersion("1.3.4.0")] +[assembly: AssemblyVersion("1.3.5.*")] +[assembly: AssemblyFileVersion("1.3.5.0")] diff --git a/src/Infodinamica.Framework.Exportable/NugetReleases/Infodinamica.Framework.Exportable.1.3.5.26099.nupkg b/src/Infodinamica.Framework.Exportable/NugetReleases/Infodinamica.Framework.Exportable.1.3.5.26099.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..7527eb4a07ac357fc8eb6d2ba1c1472be0f750d4 GIT binary patch literal 22898 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 M-6il{!~cBy56LO