private static VarietyCode CreateVarietyCode(VariasjonV22 variasjon, string host)
        {
            if (variasjon == null)
            {
                return(null);
            }

            var varietyCode = new VarietyCode
            {
                Code = new VarietyCodeCode
                {
                    Id         = variasjon.Kode,
                    Definition = $"{host}{variasjon.Kode.Replace(" ", "_")}"
                },
                Name           = variasjon.Navn,
                OverordnetKode = new VarietyCodeCode
                {
                    Id         = variasjon.OverordnetKode,
                    Definition = !string.IsNullOrEmpty(variasjon.OverordnetKode) ? $"{host}{variasjon.OverordnetKode.Replace(" ", "_")}" : ""
                },
                UnderordnetKoder = variasjon.UnderordnetKoder == null ? null : CreateVarietyCode(variasjon.UnderordnetKoder, host).ToArray()
            };

            return(varietyCode);
        }
Exemple #2
0
        private void ProcessLandform(
            ref Dictionary <string, VariasjonV22> variasjoner,
            IDocumentSession session,
            IEnumerable <string> indexes)
        {
            var indexName = "_Variasjon_Landform";
            var index     = indexes.FirstOrDefault(x => x.StartsWith(indexName, StringComparison.OrdinalIgnoreCase));

            if (string.IsNullOrEmpty(index))
            {
                return;
            }

            Log2Console(index, true);

            //var options = new JsonSerializerOptions {WriteIndented = true};
            var query = session.Query <VariasjonLandform>(index);

            using var enumerator = session.Advanced.Stream(query);
            while (enumerator.MoveNext())
            {
                var variasjonGeo = enumerator.Current?.Document;
                if (variasjonGeo == null)
                {
                    continue;
                }

                //Log2Console($"json: {JsonSerializer.Serialize(variasjonGeo, options)}", true);
                var parentKode = $"{variasjonGeo.col_0}{variasjonGeo.Nivaa1kode}";

                if (!variasjoner.ContainsKey(parentKode))
                {
                    var parent = new VariasjonV22
                    {
                        Kode           = parentKode,
                        Navn           = variasjonGeo.col_3,
                        OverordnetKode = $"{variasjonGeo.col_0}{variasjonGeo.Nivaa1kode}"
                    };
                    variasjoner.Add($"{parent.Kode}", parent);
                }

                if (variasjoner.ContainsKey(variasjonGeo.SammensattKode))
                {
                    continue;
                }

                var variasjon = new VariasjonV22
                {
                    Kode           = $"{variasjonGeo.SammensattKode}",
                    Navn           = $"{variasjonGeo.Navn}",
                    Type           = $"{variasjonGeo.Variabeltype}",
                    OverordnetKode = parentKode
                };

                variasjoner.Add($"{variasjon.Kode}", variasjon);
            }
        }
        private static VarietyAllCodes CreateVarietyAllCodes(VariasjonV22 variasjon, string host)
        {
            if (variasjon == null)
            {
                return(null);
            }

            return(new VarietyAllCodes
            {
                Code = CreateVarietyAllCodesCode(variasjon.Kode, host),
                Name = variasjon.Navn,
                OverordnetKode = CreateVarietyAllCodesCode(variasjon.OverordnetKode, host),
                UnderordnetKoder = CreateVarietyAllCodesCode(variasjon.UnderordnetKoder, host).ToArray()
            });
        }
        private static VarietyCode CreateVarietyByCode(VariasjonV22 variasjon)
        {
            if (variasjon == null)
            {
                return(null);
            }

            return(new VarietyCode
            {
                Code = new VarietyCodeCode
                {
                    Id = variasjon.Kode
                },
                Name = variasjon.Navn,
                OverordnetKode = new VarietyCodeCode
                {
                    Id = variasjon.OverordnetKode
                },
                UnderordnetKoder = variasjon.UnderordnetKoder == null ? null : CreateVarietyCode(variasjon.UnderordnetKoder, "").ToArray()
            });
        }
Exemple #5
0
        private void ProcessArtssammensetning(
            ref Dictionary <string, VariasjonV22> variasjoner,
            IDocumentSession session,
            IEnumerable <string> indexes)
        {
            //variasjoner.Add(
            //    "1AR-A-0",
            //    new VariasjonV22 { Kode = "1AR-A-0", Navn = "Dominansutforming", OverordnetKode = "1AR" }
            //);
            variasjoner.Add(
                "1AR-A-0",
                new VariasjonV22 {
                Kode = "1AR-A-0", Navn = "Dominansutforming", OverordnetKode = "1AR"
            }
                );

            var indexName = "_Variasjon_Artssammensetning";
            var index     = indexes.FirstOrDefault(x => x.StartsWith(indexName, StringComparison.OrdinalIgnoreCase));

            if (string.IsNullOrEmpty(index))
            {
                return;
            }

            Log2Console(index, true);

            //var options = new JsonSerializerOptions {WriteIndented = true};
            var query = session.Query <VariasjonArt>(index);

            using var enumerator = session.Advanced.Stream(query);
            while (enumerator.MoveNext())
            {
                var variasjonArt = enumerator.Current?.Document;
                if (variasjonArt == null)
                {
                    continue;
                }

                //if (string.IsNullOrEmpty(variasjonArt.Trinn) || string.IsNullOrEmpty(variasjonArt.Type)) continue;
                if (string.IsNullOrEmpty(variasjonArt.Trinn))
                {
                    continue;
                }

                //Log2Console($"json: {JsonSerializer.Serialize(variasjonArt, options)}", true);
                var parentKode = $"{variasjonArt.Nivaa2KodeNy}";
                //if (parentKode.Length > variasjonArt.SammensattKode.Length || parentKode.Equals(variasjonArt.SammensattKode))
                //{
                //    parentKode = $"{variasjonArt.Besys1}{variasjonArt.Nivaa1kode}";
                //}
                //parentKode = $"{variasjonArt.Besys1}{variasjonArt.Nivaa2kode}";

                //parentKode = $"{variasjonArt.Besys1}{variasjonArt.Nivaa2KodeNy}";

                if (!variasjoner.ContainsKey(parentKode))
                {
                    var parent = new VariasjonV22
                    {
                        Kode           = parentKode,
                        Navn           = variasjonArt.Nivaa2beskrivelse,
                        OverordnetKode = $"{variasjonArt.Besys1}{variasjonArt.Nivaa1kode}"
                    };
                    variasjoner.Add($"{parent.Kode}", parent);
                }

                if (variasjoner.ContainsKey(variasjonArt.SammensattKode))
                {
                    continue;
                }

                var variasjon = new VariasjonV22
                {
                    Kode           = $"{variasjonArt.SammensattKode}",
                    Navn           = $"{variasjonArt.NavnForklaring}",
                    Type           = $"{variasjonArt.Tags}",
                    OverordnetKode = parentKode
                };

                variasjoner.Add($"{variasjon.Kode}", variasjon);
            }
        }
Exemple #6
0
        private void ProcessBeskrivelsessystem(
            ref Dictionary <string, VariasjonV22> variasjoner,
            IDocumentSession session,
            IEnumerable <string> indexes)
        {
            var indexName = "_Variasjon_Beskrivelsessystem";
            var index     = indexes.FirstOrDefault(x => x.StartsWith(indexName, StringComparison.OrdinalIgnoreCase));

            if (string.IsNullOrEmpty(index))
            {
                return;
            }

            Log2Console(index, true);

            var query = session.Query <BeskrivelsesSystem>(index);

            using var enumerator = session.Advanced.Stream(query);
            while (enumerator.MoveNext())
            {
                var beskrivelsesSystem = enumerator.Current?.Document;
                if (beskrivelsesSystem == null)
                {
                    continue;
                }

                VariasjonV22 variasjon;
                if (variasjoner.ContainsKey(beskrivelsesSystem.Kode))
                {
                    if (variasjoner.ContainsKey(beskrivelsesSystem.Nivaa2Kode))
                    {
                        continue;
                    }

                    variasjon = new VariasjonV22
                    {
                        Kode           = beskrivelsesSystem.Nivaa2Kode,
                        Navn           = beskrivelsesSystem.col3,
                        OverordnetKode = beskrivelsesSystem.Kode
                    };
                }
                else
                {
                    variasjon = new VariasjonV22
                    {
                        Kode           = beskrivelsesSystem.Kode,
                        Navn           = beskrivelsesSystem.Variabelgruppe,
                        OverordnetKode = string.IsNullOrEmpty(beskrivelsesSystem.OverordnetKode)
                            ? null
                            : beskrivelsesSystem.OverordnetKode,
                        UnderordnetKoder = beskrivelsesSystem.UnderordnetKoder
                    };

                    if (!beskrivelsesSystem.Nivaa2Kode.Equals("BeSys1,BeSys2,BeSys3,BeSys4,BeSys5,BeSys6,BeSys7,BeSys8,BeSys9") &&
                        !variasjoner.ContainsKey(beskrivelsesSystem.Nivaa2Kode))
                    {
                        var child = new VariasjonV22
                        {
                            Kode           = beskrivelsesSystem.Nivaa2Kode,
                            Navn           = beskrivelsesSystem.col3,
                            OverordnetKode = beskrivelsesSystem.Kode
                        };
                        variasjoner.Add($"{child.Kode}", child);
                    }
                }

                variasjoner.Add($"{variasjon.Kode}", variasjon);
            }
        }