Index: src/Deltares.DSoilModel.Data/DSoilModelProject.cs =================================================================== diff -u -r608 -r613 --- src/Deltares.DSoilModel.Data/DSoilModelProject.cs (.../DSoilModelProject.cs) (revision 608) +++ src/Deltares.DSoilModel.Data/DSoilModelProject.cs (.../DSoilModelProject.cs) (revision 613) @@ -439,39 +439,47 @@ if (fileName.ToLower().EndsWith(".sti")) { SoilProfile2D sp2 = null; - StabilityModel stabilityModel = null; try { var oldTransformer = TransformerManager.Transformer; try { TransformerManager.Transformer = new DSoilModelStiFileTransformer(); - var converter = new Converter(); - stabilityModel = converter.ConvertClassicMStab(fileName); + + // Read 2D- soil profile + var soilProfile2DFromDSerieFileImporter = new SoilProfile2DFromDSerieFileImporter(); + sp2 = soilProfile2DFromDSerieFileImporter.ConvertToSoilProfile2D(fileName); + + // Read Soils + var soilsFromDSerieFileImporter = new SoilsFromDSerieFileImporter(); + List soilList = soilsFromDSerieFileImporter.ReadSoils(fileName); + + foreach (var soil in soilList) + { + soil.UseDefaultShearStrengthModel = false; + } + AddSoilDataToProject(new SoilList + { + Soils = soilList + }, skipSoilsWithSameName); + sp2 = AddSoilProfile2DToProject(fileName, sp2); + + // Assign soils to profile + foreach (SoilLayer2D soilLayer2D in sp2.Surfaces) + { + soilLayer2D.Soil = soilList.FirstOrDefault(s => s.Name.Equals(soilLayer2D.Name)); + } + return sp2; } finally { - TransformerManager.Transformer = oldTransformer; - } + TransformerManager.Transformer = oldTransformer; + } } catch (Exception ex) { LogManager.Add(new LogMessage(LogMessageType.Error, typeof(Converter), ex.Message)); } - - if (stabilityModel != null) - { - foreach (var soil in stabilityModel.SoilModel.Soils) - { - soil.UseDefaultShearStrengthModel = false; - } - AddSoilDataToProject(new SoilList - { - Soils = stabilityModel.SoilModel.Soils.ToList() - }, skipSoilsWithSameName); - sp2 = AddSoilProfile2DToProject(fileName, stabilityModel); - } - return sp2; } if (fileName.ToLower().EndsWith(".geo"))