public override Container ObjectStructure(List <BIS_GrundObjekt> bisList) { var formattedBisList = bisList; Container container = new Container(); var containerSofttypes = new List <SoftType>(); var rälGpr = new List <GeografiskPlaceringsreferensInstances>(); var rälAnläggningsSpecifikationer = new List <AnläggningsspecifikationInstances>(); var rälAnläggningsProdukter = new List <AnläggningsproduktInstances>(); var rälBulkvaror = new List <BulkvaraInstances>(); foreach (BIS_Räl bisRäl in formattedBisList) { var suffix = bisRäl.ObjektTypNummer + bisRäl.ObjektNummer + ExtraCounter; //Noterings Fix bisRäl.Notering = string.IsNullOrEmpty(bisRäl.Notering) ? "Ingen Notering" : bisRäl.Notering; var räl = new Räl { name = "Räl", notering = bisRäl.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_GeografiskPlaceringsreferens_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTGeografiskPlaceringsreferensReference { softType = "FTGeografiskPlaceringsreferens", instanceRef = "Räl" } } }; räl.id = räl.name + suffix; //Allt nytt var rälSpec = new Rälspecifikation { name = "Rälspecifikation", notering = bisRäl.Notering, versionId = _VersionId, numericSet = new RälspecifikationNumericSet(), stringSet = new RälspecifikationStringSet { skarvTyp = SkapaSkarvTyp(bisRäl, new Rälspecifikation_skarvTyp()), typ = new Rälspecifikation_typ { generalProperty = new typ { softType = _SoftTypeProperty, instanceRef = "typ" }, JSonMapToPropertyName = _JsonMapToValue, value = "?" } }, företeelsetyp = new ClassificationReference_Anläggningsspecifikation_företeelsetyp { @class = new FTAnläggningsspecifikationReference { softType = "FTAnläggningsspecifikation", instanceRef = "Rälspecifikation" }, startSpecified = false, endSpecified = false }, id = "Rälspecifikation" + suffix }; var rälprodukt = new Rälprodukt { name = "Rälprodukt", versionId = _VersionId, notering = bisRäl.Notering, numericSet = new RälproduktNumericSet { längd = SkapaLängd(bisRäl, new Rälprodukt_längd()) }, stringSet = new RälproduktStringSet { profiltyp = new Rälprodukt_profiltyp { generalProperty = new profiltyp { softType = _SoftTypeProperty, instanceRef = "profiltyp" }, value = bisRäl.Rälmodell, JSonMapToPropertyName = _JsonMapToValue }, stålsort = SkapaStålSort(bisRäl, new Rälprodukt_stålsort()), tillverkningsprocess = SkapaTillverkningsProcess(bisRäl, new Rälprodukt_tillverkningsprocess()), vikt = new Rälprodukt_vikt { generalProperty = new vikt { softType = _SoftTypeProperty, instanceRef = "vikt" }, JSonMapToPropertyName = _JsonMapToValue, value = bisRäl.Vikt } }, företeelsetyp = new ClassificationReference_Anläggningsprodukt_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTAnläggningsproduktReference { softType = "FTAnläggningsprodukt", instanceRef = "Rälprodukt" } }, id = "Rälprodukt" + suffix }; var rälindivid = new Rälindivid { startSpecified = false, endSpecified = false, versionId = _VersionId, notering = bisRäl.Notering, name = "Rälindivid", numericSet = new RälindividNumericSet(), stringSet = new RälindividStringSet { revideradKlassifikation = new Rälindivid_revideradKlassifikation { Array = true, generalProperty = new revideradKlassifikation { softType = _SoftTypeProperty, instanceRef = "revideradKlassifikation" }, value = bisRäl.Rev_Klass } }, företeelsetyp = new ClassificationReference_Bulkvara_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTBulkvaraReference { softType = "FTBulkvara", instanceRef = "Rälindivid" } }, id = "Rälindivid" + suffix }; //ENTRY INSTANCES var rälEntry = new GeografiskPlaceringsreferensEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Räl" + suffix, data = räl }; rälGpr.Add(rälEntry); var rälAnläggningsSpecifikation = new AnläggningsspecifikationEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Anläggningsspecifikation" + suffix, data = rälSpec }; rälAnläggningsSpecifikationer.Add(rälAnläggningsSpecifikation); var rälAnläggningsProdukt = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Anläggningsprodukt" + suffix, data = rälprodukt }; rälAnläggningsProdukter.Add(rälAnläggningsProdukt); var rälBulkvara = new BulkvaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Bulkvara" + suffix, data = rälindivid }; rälBulkvaror.Add(rälBulkvara); ExtraCounter++; } //SOFTTYPES var rälSoftype = new SoftType_GeografiskPlaceringsreferens { Array = true, id = "GeografiskPlaceringsreferens", instances = rälGpr.ToArray() }; var anläggningsSpecifikationSoftType = new SoftType_Anläggningsspecifikation { Array = true, id = "Anläggningsspecifikation", instances = rälAnläggningsSpecifikationer.ToArray() }; var anläggningsProduktSoftType = new SoftType_Anläggningsprodukt { Array = true, id = "Anläggningsprodukt", instances = rälAnläggningsProdukter.ToArray() }; var bulkvaraSoftType = new SoftType_Bulkvara { Array = true, id = "Bulkvara", instances = rälBulkvaror.ToArray() }; containerSofttypes.Add(rälSoftype); containerSofttypes.Add(anläggningsSpecifikationSoftType); containerSofttypes.Add(anläggningsProduktSoftType); containerSofttypes.Add(bulkvaraSoftType); containerSofttypes.AddRange(CreateSupplementarySoftypes()); containerSofttypes.AddRange(CreateFTKeyReferenceSoftTypes()); container.softTypes = containerSofttypes.ToArray(); return(container); }
public override Container ObjectStructure(List <BIS_GrundObjekt> bisList) { Container container = new Container(); var containerSofttypes = new List <SoftType>(); var anläggningsprodukter = new List <AnläggningsproduktInstances>(); var specifikationer = new List <AnläggningsspecifikationInstances>(); var styckevaror = new List <StyckevaraInstances>(); foreach (BIS_TågOchLokvärmeanläggning bisTåg in bisList) { var suffix = bisTåg.ObjektTypNummer + bisTåg.ObjektNummer + ExtraCounter; bisTåg.Notering = NoteringsFix(bisTåg.Notering); var tågvärmepostspecifikation = CreateTågVärmePostSpecifikation(bisTåg, suffix); var tågvärmepostprodukt = CreateTågvärmepostprodukt(bisTåg, suffix); var tågvärmepostindivid = CreateTågvärmepostindivid(bisTåg, suffix); var transformatorbrytareprodukt = CreateTransformatorbrytareprodukt(bisTåg, suffix); var tågvärmepostspecifikationEntry = new AnläggningsspecifikationEntrydefaultIn() { Array = true, inputSchemaRef = _InputSchemaRef, id = "Tågvärmepostspecifikation" + suffix, data = tågvärmepostspecifikation }; specifikationer.Add(tågvärmepostspecifikationEntry); var tågvärmepostproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Tågvärmepostprodukt" + suffix, data = tågvärmepostprodukt }; anläggningsprodukter.Add(tågvärmepostproduktEntry); var transformatorbrytareproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Transformatorbrytareprodukt" + suffix, data = transformatorbrytareprodukt }; anläggningsprodukter.Add(transformatorbrytareproduktEntry); var tågvärmepostindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Tågvärmepostindivid" + suffix, data = tågvärmepostindivid }; styckevaror.Add(tågvärmepostindividEntry); ExtraCounter++; } var anläggningsproduktsofttype = new SoftType_Anläggningsprodukt { Array = true, id = "Anläggningsprodukt", instances = anläggningsprodukter.ToArray() }; var styckevarasofttype = new SoftType_Styckevara() { Array = true, id = "Styckevara", instances = styckevaror.ToArray() }; var specifikationsofttype = new SoftType_Anläggningsspecifikation() { Array = true, id = "Specifikation", instances = specifikationer.ToArray() }; containerSofttypes.Add(anläggningsproduktsofttype); containerSofttypes.Add(specifikationsofttype); containerSofttypes.Add(styckevarasofttype); containerSofttypes.AddRange(CreateSupplementarySoftypes()); containerSofttypes.AddRange(CreateFTKeyReferenceSoftTypes()); container.softTypes = containerSofttypes.ToArray(); return(container); }