예제 #1
0
 private void writeUzytek(Klasouzytek uzytek)
 {
     //    LsV           1.5000
     _writer.WriteLine("    {0,-14}{1:F4}",
                       uzytek.oznaczenie(rozliczenie().klu()),
                       uzytek.powierzchnia().hektary());
 }
예제 #2
0
        private Klasouzytek parseKlasouzytek(string linia)
        {
            string[]     pola         = linia.Split(new char[] { ' ' }, 2, StringSplitOptions.RemoveEmptyEntries);
            string       oznaczenie   = pola[0];
            Powierzchnia powierzchnia = Powierzchnia.parseMetry(pola[1]);

            string[]    klu         = _klu.map(oznaczenie);
            Klasouzytek klasouzytek = new Klasouzytek(klu[0], klu[1], klu[2], powierzchnia);
            string      ozn         = klasouzytek.oznaczenie(_klu);

            Kontrakt.ensures(oznaczenie.Equals(ozn), "Odtworzenie oznaczenia nie jest możliwe: " + oznaczenie + " z " +
                             klasouzytek.ToString() + " = " + ozn);
            return(klasouzytek);
        }
예제 #3
0
        private void readRekordDzialki(Rozliczenie rozliczenie, List <string> rekordDzialki)
        {
            //1-1                      19857
            string             liniaDzialki = rekordDzialki[0];
            DzialkaEwidencyjna dzialka      = parseDzialka(liniaDzialki);

            //Pomijamy pierwszy rekord reprezentujący działkę.
            for (int i = 1; i < rekordDzialki.Count; i++)
            {
                //  LsVI                    3987
                string      liniaKlasouzytku = rekordDzialki[i];
                Klasouzytek klasouzytek      = parseKlasouzytek(liniaKlasouzytku);
                dzialka.dodajKlasouzytek(klasouzytek);
            }
            rozliczenie.dodajDzialka(dzialka);
            //Rozpoczęcie kumulacji nowego rekordu.
            rekordDzialki.Clear();
        }
예제 #4
0
        private void writeUzytek(Klasouzytek uzytek)
        {
            string ofu = uzytek.ofu();
            string ozu = uzytek.ozu();
            string ozk = uzytek.ozk();
            string ozn = ozu + ozk;

            if (!string.IsNullOrEmpty(ofu))
            {
                if (string.IsNullOrEmpty(ozn))
                {
                    ozn = ofu;
                }
                else if (!ofu.Equals(ozu))
                {
                    ozn = ofu + "/" + ozn;
                }
            }

            _writer.WriteLine("{0,-15}{1,15}", ozn,
                              uzytek.powierzchnia().metryKwadratowe());
        }
예제 #5
0
        public static bool zmienionaDzialka(this Rozliczenie rozliczenie, DzialkaEwidencyjna dzialkaDotychczasowa)
        {
            IdentyfikatorDzialki id          = dzialkaDotychczasowa.identyfikator();
            DzialkaEwidencyjna   dzialkaNowa = rozliczenie.dzialkaById(id);

            foreach (var klasouzytek in dzialkaNowa.unionUzytki(dzialkaDotychczasowa))
            {
                Klasouzytek stary = null;
                foreach (var uzytek in dzialkaDotychczasowa)
                {
                    if (klasouzytek.Equals(uzytek))
                    {
                        stary = uzytek;
                        break;
                    }
                }
                Klasouzytek nowy = null;
                foreach (var uzytek in dzialkaNowa)
                {
                    if (klasouzytek.Equals(uzytek))
                    {
                        nowy = uzytek;
                        break;
                    }
                }
                if (stary == null || nowy == null)
                {
                    return(true);                               //Zmieniona, bo różnica użytków
                }
                Powierzchnia stara = stary.powierzchnia();
                Powierzchnia nowa  = nowy.powierzchnia();
                if (nowa.powyzejOdchylki(stara))
                {
                    return(true);                             //Zmieniona, bo powyżej odchyłki
                }
            }
            return(dzialkaNowa.powierzchnia().powyzejOdchylki(dzialkaDotychczasowa.powierzchnia()));
        }
예제 #6
0
 private void writeUzytek(Klasouzytek uzytek)
 {
     _writer.WriteLine("{0,-15}{1,15}",
                       uzytek.oznaczenie(rozliczenie().klu()),
                       uzytek.powierzchnia().metryKwadratowe());
 }