示例#1
0
        public bool pomierzonaPonizejOdchylki(DzialkaEwidencyjna dzialka)
        {
            if (!dzialka.przypisanaDotychczasowa())
            {
                return(false);                                    //Brak działki ewidencyjnej
            }
            DzialkaEwidencyjna dotychczasowa = dzialka.dzialkaDotychczasowa();

            if (dotychczasowa.countPodzielone() > 0)
            {
                return(false);                                     //Działka jest podzielona lub przenumerowana
            }
            long pg = dzialka.powierzchnia().metryKwadratowe();
            long pe = dotychczasowa.powierzchnia().metryKwadratowe();

            if (pg == pe)
            {
                return(false);                                     //Powierzchnia działek jest identyczna
            }
            long   dr         = pg - pe;                           //Różnica powierzchni
            long   drAbsolute = Math.Abs(dr);
            double dp         = 0.0001 * pg + 0.2 * Math.Sqrt(pg); //Dopuszczalna odchyłka
            long   dpRounded  = (long)Math.Round(dp, MidpointRounding.ToEven);

            return(drAbsolute == 1 || drAbsolute == 2 || drAbsolute == 3 || drAbsolute <= dpRounded);
        }
示例#2
0
 private void writeDzialka(DzialkaEwidencyjna dzialka)
 {
     _writer.WriteLine("{0,-15}{1,15}", dzialka.identyfikator(),
                       dzialka.powierzchnia().metryKwadratowe());
     foreach (var uzytek in dzialka)
     {
         writeUzytek(uzytek);
     }
     _writer.WriteLine("**");
 }
示例#3
0
 private void writeDzialka(DzialkaEwidencyjna dzialka)
 {
     //- 296   1.5000
     _writer.WriteLine("- {0}   {1:F4}",
                       dzialka.identyfikator().numerDzialki(),
                       dzialka.powierzchnia().hektary());
     foreach (var uzytek in dzialka)
     {
         writeUzytek(uzytek);
     }
     _writer.WriteLine();
 }
示例#4
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()));
        }
示例#5
0
 private Powierzchnia powierzchniaDotychczasowa()
 {
     Kontrakt.requires(_dzialkaDotychczasowa != null,
                       "Działka nie ma przypisanej działki dotychczasowej " + _identyfikator);
     return(_dzialkaDotychczasowa.powierzchnia());
 }