Index: Ringtoets/Common/src/Ringtoets.Common.IO/SoilProfile/SoilProfile2DReader.cs
===================================================================
diff -u -r933fdbe926cc6b1e5e48c431aa9aee035b5ff3d9 -r22cfdf3a1943df34a0e6cfd57c82faedfed781db
--- Ringtoets/Common/src/Ringtoets.Common.IO/SoilProfile/SoilProfile2DReader.cs (.../SoilProfile2DReader.cs) (revision 933fdbe926cc6b1e5e48c431aa9aee035b5ff3d9)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/SoilProfile/SoilProfile2DReader.cs (.../SoilProfile2DReader.cs) (revision 22cfdf3a1943df34a0e6cfd57c82faedfed781db)
@@ -156,11 +156,14 @@
/// Thrown when reading properties of the profile failed.
private SoilProfile2D TryReadSoilProfile()
{
- var properties = new RequiredProfileProperties(this);
+ long profileId = ReadProfileId();
+ RequiredProfileProperties properties;
var soilLayers = new List();
try
{
+ properties = new RequiredProfileProperties(this);
+
for (var i = 1; i <= properties.LayerCount; i++)
{
soilLayers.Add(ReadSoilLayerFrom(this, properties.ProfileName));
@@ -169,13 +172,13 @@
}
catch (SoilProfileReadException)
{
- MoveToNextProfile(properties.ProfileId);
+ MoveToNextProfile(profileId);
throw;
}
try
{
- return new SoilProfile2D(properties.ProfileId,
+ return new SoilProfile2D(profileId,
properties.ProfileName,
soilLayers)
{
@@ -191,6 +194,11 @@
}
}
+ private long ReadProfileId()
+ {
+ return dataReader.Read(SoilProfileTableDefinitions.SoilProfileId);
+ }
+
///
/// Reads a from the given .
///
@@ -299,9 +307,9 @@
}
catch (InvalidCastException e)
{
- string message = new FileReaderErrorMessageBuilder(reader.Path)
- .WithSubject(string.Format(Resources.SoilProfileReader_SoilProfileName_0_, profileName))
- .Build(string.Format(Resources.SoilProfileReader_Profile_has_invalid_value_on_Column_0_, readColumn));
+ string message = string.Format(Resources.SoilProfileReader_Profile_Name_0_has_invalid_value_on_Column_1,
+ profileName,
+ readColumn);
throw new SoilProfileReadException(message, profileName, e);
}
}
@@ -334,15 +342,12 @@
readColumn = SoilProfileTableDefinitions.LayerCount;
LayerCount = reader.Read(readColumn);
-
- readColumn = SoilProfileTableDefinitions.SoilProfileId;
- ProfileId = reader.Read(readColumn);
}
catch (InvalidCastException e)
{
- string message = new FileReaderErrorMessageBuilder(reader.Path)
- .WithSubject(string.Format(Resources.SoilProfileReader_SoilProfileName_0_, ProfileName))
- .Build(string.Format(Resources.SoilProfileReader_Profile_has_invalid_value_on_Column_0_, readColumn));
+ string message = string.Format(Resources.SoilProfileReader_Profile_Name_0_has_invalid_value_on_Column_1,
+ ProfileName,
+ readColumn);
throw new SoilProfileReadException(message, ProfileName, e);
}
}
@@ -361,11 +366,6 @@
/// The number of layers that the profile has to read.
///
public long LayerCount { get; }
-
- ///
- /// Gets the database identifier of the profile.
- ///
- public long ProfileId { get; }
}
}
}
\ No newline at end of file