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); }
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("**"); }
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(); }
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())); }
private Powierzchnia powierzchniaDotychczasowa() { Kontrakt.requires(_dzialkaDotychczasowa != null, "Działka nie ma przypisanej działki dotychczasowej " + _identyfikator); return(_dzialkaDotychczasowa.powierzchnia()); }