Index: src/Deltares.DSoilModel.Data/DSoilModelIO.cs =================================================================== diff -u -r63 -r66 --- src/Deltares.DSoilModel.Data/DSoilModelIO.cs (.../DSoilModelIO.cs) (revision 63) +++ src/Deltares.DSoilModel.Data/DSoilModelIO.cs (.../DSoilModelIO.cs) (revision 66) @@ -482,33 +482,27 @@ { // import segments shapefile to empty deltamodel var importer = new ShapeFileImporter(); - // var deltaModel = new DeltaModel.DeltaModel(); + var deltaModel = new DeltaModel.DeltaModel(); var fieldMap = new FieldPropertyMap(); fieldMap.Definitions.Add(new FieldDefinition(fieldName, "SegmentId", true)); importer.FieldDefinition = fieldMap; importer.Type = typeof(SoilSegment); importer.FileName = fileName; - var myfac = new DefaultClassFactory(); - // myfac.Create(typeof(SoilSegment)); - var arr = myfac.CreateArray(typeof(SoilSegment), project.SoilSegments.Count); - importer.Factory = myfac; ////new DeltaModelFactory(deltaModel); // - //importer.Factory.Create(); + importer.Factory = new DeltaModelFactory(deltaModel); + importer.Import(); - foreach (var va in (Array)arr) + + // link geography to existing segments (imported from CSV) + foreach (var shapeSegment in deltaModel.SoilSegments) { - string name = va.ToString(); + string name = shapeSegment.Name; + foreach (var segment in project.SoilSegments.Where(s => s.Name == name || s.Name.StartsWith(name + "_"))) + { + segment.Points.Clear(); + segment.Points.AddRange(shapeSegment.Points); + } } - // link geography to existing segments (imported from CSV) -// foreach (var shapeSegment in deltaModel.SoilSegments) -// { -// string name = shapeSegment.Name; -// foreach (var segment in project.SoilSegments.Where(s => s.Name == name || s.Name.StartsWith(name + "_"))) -// { -// segment.Points.Clear(); -// segment.Points.AddRange(shapeSegment.Points); -// } -// } } private static void ReadSoilsFromOldDataBaseAndAddToProject(ref DSoilModelProject project, GeoDatabase geoDatabase)