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 geografiskaplaceringsreferenser = new List <GeografiskPlaceringsreferensInstances>(); var anläggningsprodukter = new List <AnläggningsproduktInstances>(); var funktionellaanläggningar = new List <FunktionellAnläggningInstances>(); var styckevaror = new List <StyckevaraInstances>(); foreach (BIS_SpårSpärr bisSpårSpärr in bisList) { var suffix = bisSpårSpärr.ObjektTypNummer + bisSpårSpärr.ObjektNummer + ExtraCounter; //Noterings Fix bisSpårSpärr.Notering = string.IsNullOrEmpty(bisSpårSpärr.Notering) ? "Ingen Notering" : bisSpårSpärr.Notering; var spårspärr = CreateSpårSpärr(bisSpårSpärr, suffix); var funktionellspårspärr = CreateFunktionellSPårSpärr(bisSpårSpärr, suffix); var spårrspärrindivid = CreateSpårspärrindivid(bisSpårSpärr, suffix); var spårspärrprodukt = CreateSpårSpärrProdukt(bisSpårSpärr, suffix); var spårspärrklotsindivid = CreateSpårSpärrKlotIndivid(bisSpårSpärr, suffix); var spårspärrklotsprodukt = CreateSpårSpärrKlotProdukt(bisSpårSpärr, suffix); var spårspärrdrivindivid = CreateSpårSpärrDrivindivid(bisSpårSpärr, suffix); var spårspärrdrivprodukt = CreateSpårspärdrivProdukt(bisSpårSpärr, suffix); var elmotorindivid = CreateElmotorIndivid(bisSpårSpärr, suffix); var elmotorprodukt = CreateElmotorProdukt(bisSpårSpärr, suffix); var växelställindivid = CreateVäxelställindivid(bisSpårSpärr, suffix); var växelställprodukt = Createväxelställprodukt(bisSpårSpärr, suffix); var kontrollanordningsindivid = CreateKontrollanordningsindivid(bisSpårSpärr, suffix); var kontrollanordningsprodukt = Createkontrollannordningsprodukt(bisSpårSpärr, suffix); var staggropsvärmeindivid = CreateStaggropsvärmeindivid(bisSpårSpärr, suffix); var staggropsvärmeprodukt = CreateStaggropsvärmeprodukt(bisSpårSpärr, suffix); //ENTRY INSTANCEs var spårspärrEntry = new GeografiskPlaceringsreferensEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Spårspärr" + suffix, data = spårspärr }; geografiskaplaceringsreferenser.Add(spårspärrEntry); var funktionellspårspärrEntry = new FunktionellAnläggningEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "FunktionellSpårspärr" + suffix, data = funktionellspårspärr }; funktionellaanläggningar.Add(funktionellspårspärrEntry); var spårspärrproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Spårspärrprodukt" + suffix, data = spårspärrprodukt }; anläggningsprodukter.Add(spårspärrproduktEntry); var spårspärrklotsproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "SpårspärrklotsProdukt" + suffix, data = spårspärrklotsprodukt }; anläggningsprodukter.Add(spårspärrklotsproduktEntry); var spårspärrdrivproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "SpårspärrdrivProdukt" + suffix, data = spårspärrdrivprodukt }; anläggningsprodukter.Add(spårspärrdrivproduktEntry); var elmotorproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "ElmotorProdukt" + suffix, data = elmotorprodukt }; anläggningsprodukter.Add(elmotorproduktEntry); var växelställproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "VäxelställProdukt" + suffix, data = växelställprodukt }; anläggningsprodukter.Add(växelställproduktEntry); var kontrollanordningsproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "KontrollanordningsProdukt" + suffix, data = kontrollanordningsprodukt }; anläggningsprodukter.Add(kontrollanordningsproduktEntry); var staggropsvärmeproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "StaggropsvärmeProdukt" + suffix, data = staggropsvärmeprodukt }; anläggningsprodukter.Add(staggropsvärmeproduktEntry); var spårspärrklotsindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "SpårspärrklotsIndivid" + suffix, data = spårspärrklotsindivid }; styckevaror.Add(spårspärrklotsindividEntry); var spårrspärrindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "SpårrspärrIndivid" + suffix, data = spårrspärrindivid }; styckevaror.Add(spårrspärrindividEntry); var spårspärrdrivindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "SpårspärrdrivIndivid" + suffix, data = spårspärrdrivindivid }; styckevaror.Add(spårspärrdrivindividEntry); var elmotorindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "ElmotorIndivid" + suffix, data = elmotorindivid }; styckevaror.Add(elmotorindividEntry); var växelställindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "VäxelställIndivid" + suffix, data = växelställindivid }; styckevaror.Add(växelställindividEntry); var kontrollanordningsindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "KontrollanordningsIndivid" + suffix, data = kontrollanordningsindivid }; styckevaror.Add(kontrollanordningsindividEntry); var staggropsvärmeindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "StaggropsvärmeIndivid" + suffix, data = staggropsvärmeindivid }; styckevaror.Add(staggropsvärmeindividEntry); ExtraCounter++; } //SOFTTYPES var anläggningsproduktsofttype = new SoftType_Anläggningsprodukt { Array = true, id = "Anläggningsprodukt", instances = anläggningsprodukter.ToArray() }; var funktionellanläggningsofttype = new SoftType_FunktionellAnläggning { Array = true, id = "FunktionellAnläggning", instances = funktionellaanläggningar.ToArray() }; var styckevarasofttype = new SoftType_Styckevara { Array = true, id = "Styckevara", instances = styckevaror.ToArray() }; var geografiskplaceringsreferenssofttype = new SoftType_GeografiskPlaceringsreferens { Array = true, id = "GeografiskPlaceringsreferens", instances = geografiskaplaceringsreferenser.ToArray() }; containerSofttypes.Add(anläggningsproduktsofttype); containerSofttypes.Add(funktionellanläggningsofttype); containerSofttypes.Add(styckevarasofttype); containerSofttypes.Add(geografiskplaceringsreferenssofttype); 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); }
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 styckevaror = new List <StyckevaraInstances>(); foreach (BIS_Kanalisation bisKanalisation in bisList) { var suffix = bisKanalisation.ObjektTypNummer + bisKanalisation.ObjektNummer + ExtraCounter; //Noterings fix bisKanalisation.Notering = string.IsNullOrEmpty(bisKanalisation.Notering) ? "Ingen Notering" : bisKanalisation.Notering; var kanalisationsprodukt = CreateKanalisationProdukt(bisKanalisation, suffix); var kanalisationindivid = CreateKanalisationIndivid(bisKanalisation, suffix); var kanalisationproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "kanalisationsprodukt" + suffix, data = kanalisationsprodukt }; anläggningsprodukter.Add(kanalisationproduktEntry); var kanalisationindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "kanalisationindivid" + suffix, data = kanalisationindivid }; styckevaror.Add(kanalisationindividEntry); 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() }; containerSofttypes.Add(anläggningsproduktsofttype); containerSofttypes.Add(styckevarasofttype); 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 funktionellaanläggningar = new List <FunktionellAnläggningInstances>(); var styckevaror = new List <StyckevaraInstances>(); var GprLista = new List <GeografiskPlaceringsreferensInstances>(); foreach (BIS_Trumma bisTrumma in bisList) { var suffix = bisTrumma.ObjektTypNummer + bisTrumma.ObjektNummer + ExtraCounter; bisTrumma.Notering = NoteringsFix(bisTrumma.Notering); var trummaprodukt = CreateTrummaProdukt(bisTrumma, suffix); var trummafunktion = CreateTrummaFunktion(bisTrumma, suffix); var trummaindivid = CreateTrummaIndivid(bisTrumma, suffix); var trumma = new Trumma { name = "Trumma", notering = bisTrumma.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_GeografiskPlaceringsreferens_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTGeografiskPlaceringsreferensReference { softType = "FTGeografiskPlaceringsreferens", instanceRef = "Trumma" } } }; trumma.id = trumma.name + suffix; var trummafunktionEntry = new FunktionellAnläggningEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "trummafunktionEntry" + suffix, data = trummafunktion }; funktionellaanläggningar.Add(trummafunktionEntry); var trummaproduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "trummaproduktEntry" + suffix, data = trummaprodukt }; anläggningsprodukter.Add(trummaproduktEntry); var trummaindividEntry = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "trummaindividEntry" + suffix, data = trummaindivid }; styckevaror.Add(trummaindividEntry); ExtraCounter++; } //SOFTTYPES var geografiskPlaceringsReferensSoftType = new SoftType_GeografiskPlaceringsreferens { Array = true, id = "GeografiskPlaceringsreferens", instances = GprLista.ToArray() }; var anläggningsproduktsofttype = new SoftType_Anläggningsprodukt { Array = true, id = "Anläggningsprodukt", instances = anläggningsprodukter.ToArray() }; var funktionellanläggningsofttype = new SoftType_FunktionellAnläggning { Array = true, id = "FunktionellAnläggning", instances = funktionellaanläggningar.ToArray() }; var styckevarasofttype = new SoftType_Styckevara { Array = true, id = "Styckevara", instances = styckevaror.ToArray() }; containerSofttypes.Add(geografiskPlaceringsReferensSoftType); containerSofttypes.Add(anläggningsproduktsofttype); containerSofttypes.Add(funktionellanläggningsofttype); containerSofttypes.Add(styckevarasofttype); 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 geografiskaplaceringsreferenser = new List <GeografiskPlaceringsreferensInstances>(); var skarvFunktionellaAnläggningar = new List <FunktionellAnläggningInstances>(); var skarvAnläggningsProdukter = new List <AnläggningsproduktInstances>(); var skarvStyckevara = new List <StyckevaraInstances>(); foreach (BIS_Skarv bisSkarv in bisList) { var suffix = bisSkarv.ObjektTypNummer + bisSkarv.ObjektNummer + ExtraCounter; //Noterings Fix bisSkarv.Notering = string.IsNullOrEmpty(bisSkarv.Notering) ? "Ingen Notering" : bisSkarv.Notering; var isolerskarvsprodukt = CreateIsolerSkarvsProdukt(bisSkarv, suffix); var isolerskarvsindivid = CreateIsolerSkarvsIndivid(bisSkarv, suffix); var partikelmagnetprodukt = CreatePartikelMagnetProdukt(bisSkarv, suffix); var partikelmagnetindivid = CreatePartikelMagnetIndivid(bisSkarv, suffix); var isolerskarv = CreateIsolerskarv(bisSkarv, suffix); //------------------------------------------------------------------------------Entry var isolerskarvEntry = new GeografiskPlaceringsreferensEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Isolerskarv" + suffix, data = isolerskarv }; geografiskaplaceringsreferenser.Add(isolerskarvEntry); var skarvAnläggningsProdukt = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "skarvAnläggningsProdukt" + suffix, data = isolerskarvsprodukt }; skarvAnläggningsProdukter.Add(skarvAnläggningsProdukt); var isolerskarvsIndivid = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "IsolerskarvsIndivid" + suffix, data = isolerskarvsindivid }; skarvStyckevara.Add(isolerskarvsIndivid); var partikelmagnetProduktEntry = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Partikelmagnetprodukt" + suffix, data = partikelmagnetprodukt }; skarvAnläggningsProdukter.Add(partikelmagnetProduktEntry); var styckevara = new StyckevaraEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "Partikelmagnetindivid" + suffix, data = partikelmagnetindivid }; skarvStyckevara.Add(styckevara); ExtraCounter++; } //------------------------------------------------------------------------------SoftTypes var anläggningsProduktSoftType = new SoftType_Anläggningsprodukt { Array = true, id = "Anläggningsprodukt", instances = skarvAnläggningsProdukter.ToArray() }; var styckSoftType = new SoftType_Styckevara { Array = true, id = "Styckevara", instances = skarvStyckevara.ToArray() }; var funktionellSoftType = new SoftType_FunktionellAnläggning { Array = true, id = "Anläggningsfunktion", instances = skarvFunktionellaAnläggningar.ToArray() }; var geografiskplaceringsreferenssofttype = new SoftType_GeografiskPlaceringsreferens { Array = true, id = "GeografiskPlaceringsreferens", instances = geografiskaplaceringsreferenser.ToArray() }; containerSofttypes.Add(anläggningsProduktSoftType); containerSofttypes.Add(styckSoftType); //Använder inte funktionellAnläggning för tillfället containerSofttypes.Add(funktionellSoftType); containerSofttypes.Add(geografiskplaceringsreferenssofttype); containerSofttypes.AddRange(CreateSupplementarySoftypes()); containerSofttypes.AddRange(CreateFTKeyReferenceSoftTypes()); container.softTypes = containerSofttypes.ToArray(); return(container); }
public override Container ObjectStructure(List <BIS_GrundObjekt> bisList) { var formattedBisList = bisList; Container container = new Container(); //All softypes must be aggregated before they are added to the container var containerSoftTypes = new List <SoftType>(); //Sort this mess out at some point var geoPlaceringar = new List <GeografiskPlaceringsreferensInstances>(); var plattformsProdukter = new List <AnläggningsproduktInstances>(); var plattformsFunktioner = new List <FunktionellAnläggningInstances>(); var plattformVäderskydd = new List <AnläggningsproduktInstances>(); var plattformStyckevaror = new List <StyckevaraInstances>(); var plattformSkylt = new List <AnläggningsproduktInstances>(); var plattformSkyltIndivid = new List <StyckevaraInstances>(); var plattformKanalisation = new List <AnläggningsproduktInstances>(); var plattformKanalisationIndivid = new List <StyckevaraInstances>(); var plattformIndivider = new List <StyckevaraInstances>(); //Does all the real mapping against ANDA resources foreach (BIS_Plattform bisPlattform in formattedBisList) { var suffix = bisPlattform.ObjektTypNummer + bisPlattform.ObjektNummer + ExtraCounter; //Noterings fix bisPlattform.Notering = string.IsNullOrEmpty(bisPlattform.Notering) ? "Ingen Notering" : bisPlattform.Notering; var plattform = new Plattform { name = "Plattform", notering = bisPlattform.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_GeografiskPlaceringsreferens_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTGeografiskPlaceringsreferensReference { softType = "FTGeografiskPlaceringsreferens", instanceRef = "Plattform" } } }; plattform.id = plattform.name + suffix; var plattformGPR = new GeografiskPlaceringsreferensEntrydefaultIn { Array = true, id = "Plattform" + suffix, inputSchemaRef = _InputSchemaRef, data = plattform }; geoPlaceringar.Add(plattformGPR); var plattformsProduktInstans = new AnläggningsproduktEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "PlattformProduktAnläggningsprodukt" + suffix }; var plattformprodukt = new Plattformprodukt { notering = bisPlattform.Notering, name = "Plattformprodukt", versionId = _VersionId, stringSet = new PlattformproduktStringSet { PlattformBeläggning = SkapaPlattformBeläggning(bisPlattform, new Plattformprodukt_PlattformBeläggning()), plattformskantMaterial = SkapaPlattformKantMaterial(bisPlattform, new Plattformprodukt_plattformskantMaterial()), nominellHöjd = new Plattformprodukt_nominellHöjd { generalProperty = new nominellHöjd { instanceRef = "nominellHöjd", softType = _SoftTypeProperty }, value = bisPlattform.Höjd, JSonMapToPropertyName = _JsonMapToValue } }, numericSet = new PlattformproduktNumericSet { verkligHöjd = SkapaVerkligHöjd(bisPlattform, new Plattformprodukt_verkligHöjd()), längd = new Plattformprodukt_längd { generalProperty = new längd { instanceRef = "längd", softType = _SoftTypeProperty }, value = bisPlattform.Längd, JSonMapToPropertyName = _JsonMapToValue, Unit = new m { instanceRef = "m", softType = "Unit" } }, bredd = new Plattformprodukt_bredd { generalProperty = new bredd { instanceRef = "bredd", softType = _SoftTypeProperty }, value = bisPlattform.Bredd, JSonMapToPropertyName = _JsonMapToValue, Unit = new m { instanceRef = "m", softType = "Unit" } } }, företeelsetyp = new ClassificationReference_Anläggningsprodukt_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTAnläggningsproduktReference { softType = "FTAnläggningsprodukt", instanceRef = "Plattformprodukt" } } }; plattformprodukt.id = plattformprodukt.name + suffix; plattformsProduktInstans.data = plattformprodukt; plattformsProdukter.Add(plattformsProduktInstans); var plattformsFunktionInstans = new FunktionellAnläggningEntrydefaultIn { Array = true, inputSchemaRef = _InputSchemaRef, id = "PlattformFunktionFunktionell" + suffix }; var plattformFunktion = new Plattformfunktion { notering = bisPlattform.Notering, name = "PlattformFunktion", versionId = _VersionId, stringSet = new PlattformfunktionStringSet { harFotsteg = SkapaPlattformFotsteg(bisPlattform, new Plattformfunktion_harFotsteg()), harPlattformsutrustning = SkapaPlattformUtrustning(bisPlattform, new Plattformfunktion_harPlattformsutrustning()), harSkyddsräcken = SkapaPlattformSkyddsräcken(bisPlattform, new Plattformfunktion_harSkyddsräcken()) }, numericSet = new PlattformfunktionNumericSet(), företeelsetyp = new ClassificationReference_FunktionellAnläggning_företeelsetyp { @class = new FTFunktionellAnläggningReference { softType = "FTFunktionellAnläggning", instanceRef = "Plattformfunktion" } } }; plattformFunktion = SkyddzonOchLedstråk(bisPlattform, plattformFunktion, new Plattformfunktion_harLedstråk(), new Plattformfunktion_harSkyddszon()); plattformFunktion.id = plattformFunktion.name + suffix; plattformsFunktionInstans.data = plattformFunktion; plattformsFunktioner.Add(plattformsFunktionInstans); //Skydd eller Tak var plattformAnläggningsProduktInstans = new AnläggningsproduktEntrydefaultIn { Array = true, id = "PlattformVäderskyddOchSkärmtakAnläggningsprodukt" + suffix, inputSchemaRef = _InputSchemaRef }; var plattformStyckevaraInstans = new StyckevaraEntrydefaultIn { Array = true, id = "PlattformVäderskyddOchSkärmtakStyckevara" + suffix, inputSchemaRef = _InputSchemaRef }; var väderskyddProdukt = new Väderskyddprodukt { name = "Väderskyddprodukt", notering = bisPlattform.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_Anläggningsprodukt_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTAnläggningsproduktReference { softType = "FTAnläggningsprodukt", instanceRef = "Väderskyddprodukt" } } }; väderskyddProdukt.id = väderskyddProdukt.name + suffix; var väderskyddIndivid = new Väderskyddindivid { startSpecified = false, endSpecified = false, name = "Väderskyddindivid", notering = bisPlattform.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_Styckevara_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTStyckevaraReference { softType = "FTStyckevara", instanceRef = "Väderskyddindivid" } } }; väderskyddIndivid.id = väderskyddIndivid.name + suffix; var skärmtakProdukt = new Skärmtakprodukt { name = "Skärmtakprodukt", notering = bisPlattform.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_Anläggningsprodukt_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTAnläggningsproduktReference { softType = "FTAnläggningsprodukt", instanceRef = "Skärmtakprodukt" } } }; skärmtakProdukt.id = skärmtakProdukt.name + suffix; var skärmtakIndivid = new Skärmtakindivid { startSpecified = false, endSpecified = false, name = "Skärmtakindivid", notering = bisPlattform.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_Styckevara_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTStyckevaraReference { softType = "FTStyckevara", instanceRef = "Skärmtakindivid" } } }; skärmtakIndivid.id = skärmtakIndivid.name + suffix; switch (bisPlattform.Väderskydd) { case "Skydd": plattformAnläggningsProduktInstans.data = väderskyddProdukt; plattformStyckevaraInstans.data = väderskyddIndivid; break; case "Tak": plattformAnläggningsProduktInstans.data = skärmtakProdukt; plattformStyckevaraInstans.data = skärmtakIndivid; break; } plattformVäderskydd.Add(plattformAnläggningsProduktInstans); plattformStyckevaror.Add(plattformStyckevaraInstans); //End Väderskydd //Skylt var skyltProdukt = new Fast_skyltprodukt { name = "Fast_skyltprodukt", notering = bisPlattform.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_Anläggningsprodukt_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTAnläggningsproduktReference { softType = "FTAnläggningsprodukt", instanceRef = "Fast_skyltprodukt" } } }; skyltProdukt.id = skyltProdukt.name + suffix; var skyltIndivid = new Fast_skyltindivid { startSpecified = false, endSpecified = false, name = "Fast_skyltindivid", notering = bisPlattform.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_Styckevara_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTStyckevaraReference { softType = "FTStyckevara", instanceRef = "Fast_skyltindivid" } } }; skyltIndivid.id = skyltIndivid.name + suffix; var plattformSkyltAnläggningsProdukt = new AnläggningsproduktEntrydefaultIn { Array = true, id = "PlattformSkyltAnläggningsprodukt" + suffix, inputSchemaRef = _InputSchemaRef, data = skyltProdukt }; var plattformSkyltStyckevara = new StyckevaraEntrydefaultIn { Array = true, id = "PlattformSkyltStyckevara" + suffix, inputSchemaRef = _InputSchemaRef, data = skyltIndivid }; if (bisPlattform.Skylt != "?") { plattformSkylt.Add(plattformSkyltAnläggningsProdukt); plattformSkyltIndivid.Add(plattformSkyltStyckevara); } //Kanalisation (BrunOLock) var kanalisationsProdukt = new Kanalisationprodukt { name = "Kanalisationprodukt", notering = bisPlattform.Notering, versionId = _VersionId, stringSet = new KanalisationproduktStringSet(), numericSet = new KanalisationproduktNumericSet(), företeelsetyp = new ClassificationReference_Anläggningsprodukt_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTAnläggningsproduktReference { softType = "FTAnläggningsprodukt", instanceRef = "Kanalisationprodukt" } } }; kanalisationsProdukt.id = kanalisationsProdukt.name + suffix; var kanalisationsIndivid = new Kanalisationindivid { name = "Kanalisationindivid", notering = bisPlattform.Notering, versionId = _VersionId, startSpecified = false, endSpecified = false, företeelsetyp = new ClassificationReference_Styckevara_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTStyckevaraReference { softType = "FTStyckevara", instanceRef = "Kanalisationindivid" } } }; kanalisationsIndivid.id = kanalisationsIndivid.name + suffix; var plattformKanalisationProdukt = new AnläggningsproduktEntrydefaultIn { Array = true, id = "PlattformKanalisationAnläggningsprodukt" + suffix, inputSchemaRef = _InputSchemaRef, data = kanalisationsProdukt }; var plattformKanalisationStyckevara = new StyckevaraEntrydefaultIn { Array = true, id = "PlattformKanalisationStyckevara" + suffix, inputSchemaRef = _InputSchemaRef, data = kanalisationsIndivid }; if (bisPlattform.Brunn_Och_Lock != "?") { plattformKanalisation.Add(plattformKanalisationProdukt); plattformKanalisationIndivid.Add(plattformKanalisationStyckevara); } //PlattformIndivid var plattformindivid = new Plattformindivid { startSpecified = false, endSpecified = false, name = "Plattformindivid", notering = bisPlattform.Notering, versionId = _VersionId, företeelsetyp = new ClassificationReference_Styckevara_företeelsetyp { startSpecified = false, endSpecified = false, @class = new FTStyckevaraReference { softType = "FTStyckevara", instanceRef = "Plattformindivid" } } }; plattformindivid.id = plattformindivid.name + suffix; var plattformIndividStyckevara = new StyckevaraEntrydefaultIn { Array = true, id = "PlattformIndividStyckevara" + suffix, inputSchemaRef = _InputSchemaRef, data = plattformindivid }; plattformIndivider.Add(plattformIndividStyckevara); ExtraCounter++; } var anläggningsProduktSoftType = new SoftType_Anläggningsprodukt { Array = true, id = "Anläggningsprodukt", instances = plattformsProdukter.ToArray() }; var funktionellAnläggningsSoftType = new SoftType_FunktionellAnläggning { Array = true, id = "FunktionellAnläggning", instances = plattformsFunktioner.ToArray() }; var anläggningsProduktSoftTypeSkydd = new SoftType_Anläggningsprodukt { Array = true, id = "Anläggningsprodukt", instances = plattformVäderskydd.ToArray() }; var styckevaraProduktSoftType = new SoftType_Styckevara { Array = true, id = "Styckevara", instances = plattformStyckevaror.ToArray() }; var anläggningsProduktSTSkylt = new SoftType_Anläggningsprodukt { Array = true, id = "Anläggningsprodukt", instances = plattformSkylt.ToArray() }; var styckevaraProduktSTSkylt = new SoftType_Styckevara { Array = true, id = "Styckevara", instances = plattformSkyltIndivid.ToArray() }; var anläggningsProduktKanalisation = new SoftType_Anläggningsprodukt { Array = true, id = "Anläggningsprodukt", instances = plattformKanalisation.ToArray() }; var styckevaraProduktKanalisation = new SoftType_Styckevara { Array = true, id = "Styckevara", instances = plattformKanalisationIndivid.ToArray() }; var plattformIndivid = new SoftType_Styckevara { Array = true, id = "Styckevara", instances = plattformIndivider.ToArray() }; var geoPlaceringSoftType = new SoftType_GeografiskPlaceringsreferens { Array = true, id = "GeografiskPlaceringsreferens", instances = geoPlaceringar.ToArray() }; containerSoftTypes.Add(anläggningsProduktSoftType); containerSoftTypes.Add(funktionellAnläggningsSoftType); containerSoftTypes.Add(anläggningsProduktSoftTypeSkydd); containerSoftTypes.Add(styckevaraProduktSoftType); containerSoftTypes.Add(anläggningsProduktSTSkylt); containerSoftTypes.Add(styckevaraProduktSTSkylt); containerSoftTypes.Add(anläggningsProduktKanalisation); containerSoftTypes.Add(styckevaraProduktKanalisation); containerSoftTypes.Add(plattformIndivid); containerSoftTypes.Add(geoPlaceringSoftType); //Adds the extra softypes needed containerSoftTypes.AddRange(CreateSupplementarySoftypes()); containerSoftTypes.AddRange(CreateFTKeyReferenceSoftTypes()); //Last step is to prepare the container for serialization container.softTypes = containerSoftTypes.ToArray(); return(container); }