Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }