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); }
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() }); }
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); } }
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); } }