int WczytajKlasoużytki(DokumentSwde swde) { var użytki = swde.GetObiektyKlasy("G5KLU"); foreach (var klu in użytki) { string g5ofu = klu.GetAtrybut("G5OFU"); string g5ozu = klu.GetAtrybut("G5OZU"); string g5ozk = klu.GetAtrybut("G5OZK"); string g5pew = klu.GetAtrybut("G5PEW"); Powierzchnia powierzchnia = Powierzchnia.ParsujMetry(g5pew); Klasoużytek klasouzytek = new Klasoużytek(g5ofu, g5ozu, g5ozk, powierzchnia); var dze = klu.GetRelacja("G5RDZE"); string g5idd = dze.GetAtrybut("G5IDD"); IdentyfikatorDziałki identyfikator = IdentyfikatorDziałki.ParsujIdG5(g5idd); var id = identyfikator.ToString(); if (_indeksDziałek.ContainsKey(id)) { _indeksDziałek[id].DodajUżytek(klasouzytek); } else { Logger.ostrzeżenie("nie można dodać użytku " + klasouzytek.ToString() + " do działki " + id); } } return(użytki.Count()); }
Działka ParsujDziałkę(string linia) { var pola = linia.Split(new [] { ' ' }, 2, StringSplitOptions.RemoveEmptyEntries); var identyfikator = IdentyfikatorDziałki.ParsujId(pola[0]); var powierzchnia = Powierzchnia.ParsujMetry(pola[1]); var działka = new Działka(identyfikator, powierzchnia); return(działka); }
Klasoużytek ParsujKlasoużytek(string linia) { var pola = linia.Split(new [] { ' ' }, 2, StringSplitOptions.RemoveEmptyEntries); var ozn = pola.First(); var powierzchnia = Powierzchnia.ParsujMetry(pola[1]); var oznaczenie = _słownik.SzukajOznaczenia(ozn); var użytek = new Klasoużytek(oznaczenie.ofu, oznaczenie.ozu, oznaczenie.ozk, powierzchnia); //Kontrakt.ensures(oznaczenie.Equals(ozn), // "Odtworzenie oznaczenia nie jest możliwe: " + oznaczenie + " z " + // użytek.ToString() + " = " + ozn); return(użytek); }
public static Działka WczytajJednąDziałkę(this ObiektSwde dze) { //var jdr = dze.GetRelacja("G5RJDR"); //string g5ijr = jdr.GetAtrybut("G5IJR"); string g5idd = dze.GetAtrybut("G5IDD"); string g5pew = dze.GetAtrybut("G5PEW"); string g5dzp = dze.GetAtrybut("G5DZP"); bool doAra = false; if (string.IsNullOrEmpty(g5dzp)) { Logger.ostrzeżenie("pusta wartość atrybutu G5DZP: zapis powierzchni do metra: " + g5idd); } else if (g5dzp.Equals("1")) { doAra = false; } else if (g5dzp.Equals("2")) { doAra = true; } else { Logger.ostrzeżenie("niestandardowa wartość atrybutu G5DZP: " + g5dzp + " działki " + g5idd); } if (doAra && g5pew.EndsWith("00") == false) { doAra = false; Logger.ostrzeżenie("powierzchnia do metra jest oznaczona w opisie jako do ara: " + g5pew + " m2, działka " + g5idd); } var powierzchnia = Powierzchnia.ParsujMetry(g5pew); var id = IdentyfikatorDziałki.ParsujIdG5(g5idd); //JednostkaRejestrowa jr = _indeksJednostek[JednostkaRejestrowa.parseG5(g5ijr).ToString()]; var działka = new Działka(id, powierzchnia); działka.JestDoAra = doAra; return(działka); }