コード例 #1
0
        public void test_czy_rozliczenie_wczyta_495_działek()
        {
            var słownik     = WczytajSłownik();
            var fileName    = Path.Combine(@"..\..", "CzytnikRozliczeniaTest.txt");
            var rozliczenie = new Rozliczenie();
            var czytnik     = new CzytnikRozliczenia(rozliczenie, słownik);

            czytnik.Wczytaj(fileName);
            Assert.AreEqual(495, rozliczenie.Count());
            //19-1/1                   23574
            var id_19_1_1 = new IdentyfikatorDziałki("19", "1/1");
            var dz_19_1_1 = rozliczenie.SzukajIdDziałki(id_19_1_1);

            Assert.AreEqual(1, dz_19_1_1.Count());
            //6-99                      9278
            var id_6_99 = new IdentyfikatorDziałki("6", "99");
            var dz_6_99 = rozliczenie.SzukajIdDziałki(id_6_99);

            Assert.AreEqual(1, dz_6_99.Count());
            //19-34                    59347
            var id_19_34 = new IdentyfikatorDziałki("19", "34");
            var dz_19_34 = rozliczenie.SzukajIdDziałki(id_19_34);

            Assert.AreEqual(59347, dz_19_34.Powierzchnia.metryKwadratowe());
            Assert.AreEqual(6, dz_19_34.Count());
            var psIV = dz_19_34.SzukajUżytku(new Klasoużytek("Ps", "Ps", "IV", new Powierzchnia(20277)));
            var lzVI = dz_19_34.SzukajUżytku(new Klasoużytek("Lz", "Ps", "VI", new Powierzchnia(3614)));

            Assert.IsNotNull(psIV);
            Assert.AreEqual(20277, psIV.powierzchnia().metryKwadratowe());
            Assert.IsNotNull(lzVI);
            Assert.AreEqual(3614, lzVI.powierzchnia().metryKwadratowe());
            //  PsIV                   20277
            //  LsVI                   17788
            //  PsV                    12329
            //  ŁV                      4232
            //  Lz/PsVI                 3614
            //  W                       1107
        }
コード例 #2
0
        static void Main(string[] args)
        {
            PokażLogo(args);
            if (args.Length < 1)
            {
                Logger.błąd("Nie podano roboczego katalogu.");
                PokażKoniec();
                return;
            }
            _roboczyKatalog = args[0];
            if (Directory.Exists(_roboczyKatalog) == false)
            {
                Logger.błąd("Roboczy katalog nie istnieje: " + _roboczyKatalog);
                PokażKoniec();
                return;
            }
            Console.WriteLine("Roboczy katalog: {0}", _roboczyKatalog);
            if (args.Length < 2)
            {
                Logger.błąd("Nie podano starego pliku SWDE.");
                PokażKoniec();
                return;
            }
            _starePath = Path.Combine(_roboczyKatalog, args[1]);
            if (File.Exists(_starePath) == false)
            {
                Logger.błąd("Plik nie istnieje: " + _starePath);
                PokażKoniec();
                return;
            }
            if (args.Length < 3)
            {
                Logger.błąd("Nie podano nowego pliku SWDE.");
                PokażKoniec();
                return;
            }
            _nowePath = Path.Combine(_roboczyKatalog, args[2]);
            if (File.Exists(_nowePath) == false)
            {
                Logger.błąd("Plik nie istnieje: " + _nowePath);
                PokażKoniec();
                return;
            }
            if (args.Length < 4)
            {
                Logger.błąd("Nie określono filtru działek.");
                PokażKoniec();
                return;
            }
            _działkiPath = Directory.GetFiles(_roboczyKatalog, args[3], SearchOption.TopDirectoryOnly);
            if (args.Length < 5)
            {
                Logger.błąd("Nie podano szablonu wykazu.");
                PokażKoniec();
                return;
            }
            _szablonZmian = Path.Combine(_exeKatalog, args[4]);
            if (File.Exists(_szablonZmian) == false)
            {
                Logger.błąd("Plik nie istnieje: " + _szablonZmian);
                PokażKoniec();
                return;
            }
            //Przygotuj docelowy katalog
            _docelowyKatalog = Path.Combine(_roboczyKatalog, DateTime.Now.ToString("yyyyMMddTHHmmss"));
            if (!Directory.Exists(_docelowyKatalog))
            {
                Directory.CreateDirectory(_docelowyKatalog);
            }
            Console.WriteLine("Docelowy katalog: {0}", _docelowyKatalog);
            //Wczytaj repozytorium KERG
            _repozytoriumKERG = RepozytoriumKerg.WczytajPlik(Path.Combine(_exeKatalog, "KERG.txt"));
            //Wczytaj stan stary i nowy z plików SWDE
            Console.WriteLine("Stan dotychczasowy z pliku: " + _starePath.name());
            var słownik          = new SłownikOznaczenia();
            var czytnikOnaczenia = new CzytnikOznaczenia(słownik);

            czytnikOnaczenia.Wczytaj(Path.Combine(_exeKatalog, "uzytkiG5.csv"));
            var rozliczenie        = new Rozliczenie();
            var czytnikRozliczenia = new CzytnikRozliczenia(rozliczenie, słownik);

            if (_starePath.EndsWith("*.swd"))
            {
                _staryStan = new CzytnikOpisowegoSwde(_starePath);
            }
            else
            {
                czytnikRozliczenia.Wczytaj(_starePath);
                _staryStan = rozliczenie;
            }
            Console.WriteLine("Stan nowy z pliku: " + _nowePath.name());
            _nowyStan = new CzytnikOpisowegoSwde(_nowePath);
            var działki = PrzygotujDziałkiDoWykazu();
            //Zapisz wykazy obrębami
            var obrębyPogrupowane = działki.GroupBy(id => id.NumerObrębu());

            foreach (var działkiObrębu in obrębyPogrupowane)
            {
                ZapiszWykaz(działkiObrębu);
            }
            PokażKoniec();
        }