/// <summary> /// Obluha tlačítka pro vyhledání záznamů dle zadaných parametrů. /// Kontrola zvolených filtrů a následné vyhledání záznamů dle zadaných kritérií. /// </summary> /// <param name="sender">Tlačítko</param> /// <param name="e">Vyvolaná událost</param> private void VyhledatButton_Click(object sender, RoutedEventArgs e) { try { // Pokud je zvoleno zobrazení příjmů a zároveň není zvoleno zobrazení výdajů, vyhledají se všechny příjmy if (Prijmy_CheckBox.IsChecked == true && Vydaje_CheckBox.IsChecked == false) { Controller.AktualizujZobrazovaneZaznamyDleKategoriePrijmuVydaju(KategoriePrijemVydaj.Prijem); } // Pokud je zvoleno zobrazení výdajů a zároveň není zvoleno zobrazení příjmů, vyhledají se všechny výdaje if (Prijmy_CheckBox.IsChecked == false && Vydaje_CheckBox.IsChecked == true) { Controller.AktualizujZobrazovaneZaznamyDleKategoriePrijmuVydaju(KategoriePrijemVydaj.Vydaj); } // Kontrola zda je zvoleno zobrazení příjmů nebo výdajů if (Prijmy_CheckBox.IsChecked == false && Vydaje_CheckBox.IsChecked == false) { throw new ArgumentException("Zvolte jaké záznamy chcete vyhledat! \n\tPříjmy - Výdaje"); } // Vyhledání záznamů se zadaným názvem if (Nazev_CheckBox.IsChecked == true) { // Kontrola zda byl zadán název if (!(Nazev.Length > 0)) { throw new ArgumentException("Zadejte název!"); } // Aktualizace záznamů se zadaným názvem Controller.AktualizujZobrazovaneZaznamyDleNazvu(Nazev); } // Vyhledání záznamů dle data if (Datum_CheckBox.IsChecked == true) { Controller.AktualizujZobrazovaneZaznamyDleData(Datum_MIN, Datum_MAX); } // Vyhledání záznamů dle hodnoty if (Hodnota_CheckBox.IsChecked == true) { if (!(Hodnota_MIN.ToString().Length > 0)) { throw new ArgumentException("Zadejte minimální hodnotu pro vyhledávání"); } if (!(Hodnota_MAX.ToString().Length > 0)) { throw new ArgumentException("Zadejte maximální hodnotu pro vyhledávání"); } // Aktualizace záznamů v zadaném rozmezí hodnoty Controller.AktualizujZobrazovaneZaznamyDleHodnoty(Hodnota_MIN, Hodnota_MAX); } // Vyhledání záznamů dle kategorie if (Kategorie_CheckBox.IsChecked == true) { // Kontrola zda byla vybrána kategorie if (kategorie == Kategorie.Nevybrano) { throw new ArgumentException("Vyberte kategorii!"); } // Aktualizace záznamu dle kategorie Controller.AktualizujZobrazovaneZaznamyDleKategorie(kategorie); } // Vyhledání záznamů dle počtu položek if (Polozky_CheckBox.IsChecked == true) { if (!(PocetPolozek_MIN.ToString().Length > 0)) { throw new ArgumentException("Zadejte minimální počet položek pro vyhledávání"); } if (!(PocetPolozek_MAX.ToString().Length > 0)) { throw new ArgumentException("Zadejte maximální počet položek pro vyhledávání"); } // Aktualizace záznamu s počtem položek v zadaném rozmezí Controller.AktualizujZobrazovaneZaznamyDlePoctuPolozek(PocetPolozek_MIN, PocetPolozek_MAX); } // Upozornění pro případ že zadaným kritértiím nevyhovují žádné záznamy if (!(Controller.VratPocetZobrazovanychZaznamu() > 0)) { Controller.AktualizujZobrazovaneZaznamy(); throw new ArgumentException("Nebyly nalezeny žádné záznamy"); } // Vykreslení aktualizovaného seznamu záznamů s vyhledanými záznamy AktualizujZobrazeniZaznamu(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }