public static bool uległaZmianie(this Działka staraDzialka, Działka nowaDzialka)
        {
            if (!nowaDzialka.Powierzchnia.Equals(staraDzialka.Powierzchnia))
            {
                return(true);                                                             //niezgodna powierzchnia działki
            }
            if (nowaDzialka.Count() != staraDzialka.Count())
            {
                return(true);                                             //niezgodna liczba użytków
            }
            var użytki = staraDzialka.UnionUżytki(nowaDzialka);

            foreach (var użytek in użytki)
            {
                Klasoużytek stary = staraDzialka.SzukajUżytku(użytek);
                Klasoużytek nowy  = nowaDzialka.SzukajUżytku(użytek);
                if (stary == null || nowy == null)
                {
                    return(true);                               //dodany/usunięty użytek
                }
                Powierzchnia stara = stary.powierzchnia();
                Powierzchnia nowa  = nowy.powierzchnia();
                if (!nowa.Equals(stara))
                {
                    return(true);                     //inna powierzchnia użytków
                }
                //if (nowa.powyzejOdchylki(stara)) return true; //powyżej odchyłki
                Kontrakt.assert(stary.Equals(nowy), "Różne oznaczenie użytku: " + stary.ToString());
            }
            return(false);
        }
Example #2
0
 public Klasoużytek(string ofu, string ozu, string ozk, Powierzchnia powierzchnia)
     : base(powierzchnia)
 {
     _ofu = ofu;
     _ozu = ozu;
     _ozk = ozk;
 }
Example #3
0
        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());
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #7
0
 public Działka(IdentyfikatorDziałki id, Powierzchnia powierzchnia)
 {
     _id           = id;
     _powierzchnia = powierzchnia;
 }