Beispiel #1
0
        /// <summary>
        /// Úvodní nastavení okna v režimu úpravy existujícího záznamu.
        /// </summary>
        /// <param name="zaznam">Záznam určený k úpravě</param>
        public void UvodniNastaveniRezimuUpravovani(Zaznam zaznam)
        {
            // Úvodní nastavení okna
            Title = "Úprava existujícího záznamu";
            Icon  = new BitmapImage(new Uri(Path.Combine(Validace.VratCestuSlozkyAplikace(), "Icons\\Disketa.png")));

            // Úvodní nastavení interních proměnných
            Nazev               = zaznam.Nazev;
            Datum               = zaznam.Datum;
            PrijemNeboVydaj     = zaznam.PrijemNeboVydaj;
            PrijemVydaj_Hodnota = zaznam.Hodnota_PrijemVydaj;
            Poznamka            = zaznam.Poznamka;
            KategorieZaznamu    = zaznam.kategorie;

            // Vytvoření instance třídy pro nastavení stylů tlačítek
            GrafickePrvky Grafika = new GrafickePrvky();

            // Nastavení stylu tlačítek
            Grafika.NastavTlacitkoULOZIT(UlozitButton);
            Grafika.NastavTlacitkoUPRAVITPOZNAMKU(NastavPoznamkuButton);
            Grafika.NastavTlacitkoUPRAVITPOLOZKY(NastavPolozkuButton);

            // Nastavení zadávacích polí
            NastavZadavaciPole();

            // Nastavení zobrazení kategorie a hodnoty záznamu
            KategorieComboBox.SelectedIndex   = (int)KategorieZaznamu - 1;
            PrijemVydajComboBox.SelectedIndex = (int)PrijemNeboVydaj;
            PrijemVydajTextBox.Text           = PrijemVydaj_Hodnota.ToString();
        }
        /// <summary>
        /// Obsluha události při kliknutí na konkrétní blok reprezentující 1 záznam na stránce.
        /// </summary>
        /// <param name="sender">Vybraný objekt</param>
        /// <param name="e">Vyvolaná událost</param>
        private void GrafZaznam_MouseDown(object sender, MouseButtonEventArgs e)
        {
            // Převedení zvoleného objektu zpět na StackPanel
            StackPanel blok = sender as StackPanel;

            // Barevné vyznačení vybraného objektu
            blok.Background = Brushes.OrangeRed;

            // Zrušení barevného vyznačení předchozího vybraného objektu
            OznacenyBlok.Background = Controller.BarvaPozadi;

            // Uložení nově označeného objektu do pomocné proměnné pro možnost následného zrušení jeho označení při označení jiného objektu
            OznacenyBlok = blok;

            // Odstranění prefixu "obr" z názvu bloku
            string IndexZaznamu = blok.Name.Substring(3);

            // Identifikace záznamu na základě indexu objektu -> Zjištění o jaký záznam se jedná a označení zvoleného záznamu
            Controller.VyberZaznam(ZaznamyNaJedneStrance[(int)Validace.NactiCislo(IndexZaznamu)]);

            // V případě dvojkliku se vyvolá okno pro úpravu vybraného záznamu
            if (e.ClickCount > 1)
            {
                // Otevření okna pro úpravu záznamu
                Controller.OtevriOknoPridatUpravitZaznam(0);

                // Aktualizace vykreslení seznamu záznamů
                AktualizujVykreslovanouStranu();
            }
        }
        /// <summary>
        /// Úvodní nastavení okna.
        /// </summary>
        /// <param name="PridavaciRezim">TRUE - Režim okna pro přidání nových položek, FALSE - Režim okna pro úpravu stávajících položek</param>
        public void UvodniNastaveni(bool PridavaciRezim)
        {
            // Nastavení názvu okna
            Title = PridavaciRezim ? "Přidat nové položky" : "Upravit položky";

            // Nastavení ikony okna
            Icon = new BitmapImage(new Uri(Path.Combine(Validace.VratCestuSlozkyAplikace(), "Icons\\NewFile.png")));

            // Úvodní inicializace pomocných proměnných
            Nazev            = "";
            Popis            = "";
            Cena             = 0;
            KategoriePolozky = Kategorie.Nevybrano;

            // Vytvoření instance třídy pro nastavení stylů tlačítek
            GrafickePrvky Grafika = new GrafickePrvky();

            // Nastavení stylu tlačítek
            Grafika.NastavTlacitkoPRIDAT(PridatButton);
            Grafika.NastavTlacitkoODEBRAT(OdebratButton);

            // Nastavení zadávacích polí
            NazevPolozkyTextBox.Text = Nazev;
            PopisTextBox.Text        = Popis;
            Controller.NastavKategorieDoComboBoxu(KategorieComboBox);
        }
        /// <summary>
        /// Událost vyvolaná při pohybu kolečka myši pro celou zobrazenou stránku.
        /// </summary>
        /// <param name="sender">Vybraný objekt</param>
        /// <param name="e">Vyvolaná událost</param>
        private void Stranka_MouseWheel(object sender, MouseWheelEventArgs e)
        {
            // Převedení vybraného objektu zpět na StackPanel
            StackPanel stranka = sender as StackPanel;

            // Odstranění prefixu "str" z názvu bloku
            string IndexStrany = stranka.Name.Substring(3);

            // Identifikace aktuálně vykreslené strany seznamu na základě čísla uloženého v názvu StackPanelu
            int AktualniStranka = (int)Validace.NactiCislo(IndexStrany);

            // Pokud je vykreslena první stránka seznamu a uživatel pohne kolečkem myši nahoru, nic se nestane
            if (AktualniStranka == 0 && (e.Delta > 0))
            {
                return;
            }

            // Pokud je vykreslena první stránka seznamu a uživatel pohne kolečkem myši dolů,
            // změní se číslo vykreslované stránky a aktualizuje se vykreslení (vykreslí se nová stránka)
            else if (AktualniStranka == 0 && (e.Delta <= 0))
            {
                CisloStranky++;
                AktualizujVykreslovanouStranu();
                return;
            }

            // Pokud je vykreslena poslední stránka seznamu a uživatel pohne kolečkem myši dolů, nic se nestane
            if ((AktualniStranka + 1) == MaximalniPocetStran && (e.Delta <= 0))
            {
                return;
            }

            // Pokud je vykreslena poslední stránka seznamu a uživatel pohne kolečkem myši nahorů,
            // změní se číslo vykreslované stránky a aktualizuje se vykreslení (vykreslí se nová stránka)
            else if ((AktualniStranka + 1) == MaximalniPocetStran && (e.Delta > 0))
            {
                CisloStranky--;
                AktualizujVykreslovanouStranu();
                return;
            }

            // Pokud uživatel pohnul kolečkem myši nahorů vykreslí se nová stránka v reakci na změnu čísla stránky
            if (e.Delta > 0)
            {
                CisloStranky--;
                AktualizujVykreslovanouStranu();
                return;
            }

            // Pokud uživatel pohnul kolečkem myši dolů vykreslí se nová stránka v reakci na změnu čísla stránky
            else if (e.Delta <= 0)
            {
                CisloStranky++;
                AktualizujVykreslovanouStranu();
                return;
            }
        }
Beispiel #5
0
 /// <summary>
 /// Načtení data do interní proměnné.
 /// </summary>
 /// <param name="sender">Zvolený objekt</param>
 /// <param name="e">Vyvolaná událost</param>
 private void DatumMAX_DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         Datum_MAX = Validace.NactiDatum(DatumMAX_DatePicker.SelectedDate);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }
        /// <summary>
        /// Nastavení okna do režimu pro export dat včetně vytvoření potřebných tlačítek.
        /// </summary>
        private void NastavStylExport()
        {
            Title  = "Export dat";
            Icon   = new BitmapImage(new Uri(Path.Combine(Validace.VratCestuSlozkyAplikace(), "Icons\\Disketa.png")));
            Height = 600;
            Width  = 450;

            // Nastavení tlačítka pro Uložení vybraných záznamů do souboru
            UlozitButton.Content             = "Exportovat data";
            UlozitButton.Width               = 200;
            UlozitButton.Height              = 50;
            UlozitButton.FontSize            = 24;
            UlozitButton.Margin              = new Thickness(200, 0, 20, 20);
            UlozitButton.VerticalAlignment   = VerticalAlignment.Bottom;
            UlozitButton.HorizontalAlignment = HorizontalAlignment.Left;
            UlozitButton.Foreground          = Brushes.DarkGreen;
            UlozitButton.Background          = Brushes.Orange;

            // Nastavení viditelnosti tlačítka pro export dat a přidání události pro možnost ragovat na kliknutí na tlačítko
            UlozitButton.Visibility = Visibility.Visible;
            UlozitButton.Click     += UlozitButton_Click;

            // Nastavení tlačítka pro vyhledání záznamů k exportu
            VyhedatButton.Content             = "Vyhledat";
            VyhedatButton.Width               = 150;
            VyhedatButton.Height              = 50;
            VyhedatButton.FontSize            = 24;
            VyhedatButton.Margin              = new Thickness(20, 0, 20, 20);
            VyhedatButton.VerticalAlignment   = VerticalAlignment.Bottom;
            VyhedatButton.HorizontalAlignment = HorizontalAlignment.Left;
            VyhedatButton.Foreground          = Brushes.DarkGreen;
            VyhedatButton.Background          = Brushes.CadetBlue;

            // Nastavení viditelnosti tlačítka pro vyhledání dat a přidání události pro možnost ragovat na kliknutí na tlačítko
            VyhedatButton.Visibility = Visibility.Visible;
            VyhedatButton.Click     += VyhedatButton_Click;

            // Nastavení plátna pro vykreslení seznamu vybraných záznamů určených k exportu
            SeznamZaznamuProExportCanvas.Width               = 300;
            SeznamZaznamuProExportCanvas.Height              = 450;
            SeznamZaznamuProExportCanvas.Margin              = new Thickness(20, 20, 0, 0);
            SeznamZaznamuProExportCanvas.VerticalAlignment   = VerticalAlignment.Top;
            SeznamZaznamuProExportCanvas.HorizontalAlignment = HorizontalAlignment.Left;
            SeznamZaznamuProExportCanvas.Visibility          = Visibility.Visible;
            SeznamZaznamuProExportCanvas.Background          = Controller.BarvaPozadi;


            // Zrušení nepotřebných komponent
            PridatNoveZaznamyButton.Visibility   = Visibility.Collapsed;
            AktualizovatZaznamyButton.Visibility = Visibility.Collapsed;

            // Vykreslení seznamu záznamů určených pro export
        }
Beispiel #7
0
        /// <summary>
        /// Načtení vybraného data do interní proměnné.
        /// </summary>
        /// <param name="sender">Zvolený objekt</param>
        /// <param name="e">Vyvolaná událost</param>
        private void DatumZaznamuDatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                Datum = Validace.NactiDatum(DatumZaznamuDatePicker.SelectedDate);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Exclamation);

                // Zobrazení data z paměti
                DatumZaznamuDatePicker.SelectedDate = Datum;
            }
        }
Beispiel #8
0
        /// <summary>
        /// Obsluha udáosti vyvolané při zadávání hodnoty do textového bloku.
        /// Při zadávání se zadané číslo načítá do interní proměnné pro následné zpracování.
        /// </summary>
        /// <param name="sender">Zvolený objekt</param>
        /// <param name="e">Vyvolaná událost</param>
        private void PrijemVydajTextBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            try
            {
                if (PrijemVydajTextBox.Text.Length > 0)
                {
                    PrijemVydaj_Hodnota = Validace.NactiCislo(PrijemVydajTextBox.Text);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Warning);

                // Zobrazení do boxu načtenou hodnotu (smazání neplatného obsahu)
                PrijemVydajTextBox.Text = PrijemVydaj_Hodnota.ToString();
            }
        }
        /// <summary>
        /// Konstruktor třídy pro správu okenního formuláře spravující zobrazení statistických grafů.
        /// </summary>
        public Statistika_Window()
        {
            // Načtení instance kontroléru
            Controller = SpravceFinanciController.VratInstanciControlleru();

            // Inicializace okenního formuláře
            InitializeComponent();

            // Úvodní nastavení okna
            Title  = "Statistika";
            Height = 750;
            Width  = 1250;
            Icon   = new BitmapImage(new Uri(System.IO.Path.Combine(Validace.VratCestuSlozkyAplikace(), "Icons\\Statistika.ico")));

            // Provedení úvodního nastavení zobrazovacích prvků
            UvodniNastaveniGrafu();
        }
Beispiel #10
0
        /// <summary>
        /// Obsluha události při kliknutí na konkrétní blok reprezentující 1 položku na stránce.
        /// </summary>
        /// <param name="sender">Vybraný objekt</param>
        /// <param name="e">Vyvolaná událost</param>
        private void GrafPolozka_MouseDown(object sender, MouseButtonEventArgs e)
        {
            // Převedení zvoleného objektu zpět na StackPanel
            StackPanel blok = sender as StackPanel;

            // Barevné vyznačení vybraného objektu
            blok.Background = Brushes.Orange;

            // Zrušení barevného vyznačení předchozího vybraného objektu
            OznacenyBlok.Background = Controller.BarvaPozadi;

            // Uložení nově označeného objektu do pomocné proměnné pro možnost následného zrušení jeho označení při označení jiného objektu
            OznacenyBlok = blok;

            // Odstranění prefixu "obr" z názvu bloku
            string IndexPolozky = blok.Name.Substring(3);

            // Identifikace položky na základě indexu objektu -> Zjištění o jakou položku se jedná (přiřazení do VybranaPolozka)
            Controller.VyberPolozku(PolozkyNaJedneStrance[(int)Validace.NactiCislo(IndexPolozky)]);
        }
Beispiel #11
0
        /// <summary>
        /// Načtení číselné hodnoty do interní proměnné.
        /// <param name="sender">Zvolený objekt</param>
        /// <param name="e">Vyvolaná událost</param>
        private void HodnotaMIN_TextBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            try
            {
                if (HodnotaMIN_TextBox.Text.Length > 0)
                {
                    Hodnota_MIN = Validace.NactiCislo(HodnotaMIN_TextBox.Text);
                }
                else
                {
                    Hodnota_MIN = 0;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Warning);

                // Zobrazení hodnoty z interní proměnné (smazání neplatného obsahu)
                HodnotaMIN_TextBox.Text = Hodnota_MIN.ToString();
            }
        }
        /// <summary>
        /// Načtení číselné hodnoty do interní proměnné.
        /// </summary>
        /// <param name="sender">Zvolený objekt</param>
        /// <param name="e">Vyvolaná událost</param>
        private void PolozkyMAXTextBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            try
            {
                if (PolozkyMAXTextBox.Text.Length > 0)
                {
                    PocetPolozek_MAX = (int)Validace.NactiCislo(PolozkyMAXTextBox.Text);
                }
                else
                {
                    PocetPolozek_MAX = 0;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Warning);

                // Zobrazení hodnoty z interní proměnné (smazání neplatného obsahu)
                PolozkyMAXTextBox.Text = PocetPolozek_MAX.ToString();
            }
        }
        /// <summary>
        /// Nastavení okna do režimu pro import dat včetně vytvoření potřebných tlačítek.
        /// </summary>
        private void NastavStylImport()
        {
            // Nastavení okna
            Title  = "Import dat";
            Icon   = new BitmapImage(new Uri(Path.Combine(Validace.VratCestuSlozkyAplikace(), "Icons\\Disketa_e_sipkou.ico")));
            Height = 300;
            Width  = 500;

            // Nastavení tlačítka pro možnost přidání nových záznamů
            PridatNoveZaznamyButton.Content    = "Přidat nové záznamy";
            PridatNoveZaznamyButton.Width      = 400;
            PridatNoveZaznamyButton.Height     = 80;
            PridatNoveZaznamyButton.FontSize   = 36;
            PridatNoveZaznamyButton.Margin     = new Thickness(0, 0, 0, 120);
            PridatNoveZaznamyButton.Foreground = Brushes.DarkBlue;
            PridatNoveZaznamyButton.Background = Brushes.Pink;

            // Nastavení viditelnosti tlačítka a přidání události pro možnost ragovat na kliknutí na tlačítko
            PridatNoveZaznamyButton.Visibility = Visibility.Visible;
            PridatNoveZaznamyButton.Click     += PridatNoveZaznamyButton_Click;

            // Nastavení tlačítka pro možnost aktualizace stávajících záznamů
            AktualizovatZaznamyButton.Content    = "Přepsat data novými záznamy";
            AktualizovatZaznamyButton.Width      = 400;
            AktualizovatZaznamyButton.Height     = 80;
            AktualizovatZaznamyButton.FontSize   = 28;
            AktualizovatZaznamyButton.Margin     = new Thickness(0, 120, 0, 0);
            AktualizovatZaznamyButton.Foreground = Brushes.DarkBlue;
            AktualizovatZaznamyButton.Background = Brushes.DeepPink;

            // Nastavení viditelnosti tlačítka a přidání události pro možnost ragovat na kliknutí na tlačítko
            AktualizovatZaznamyButton.Visibility = Visibility.Visible;
            AktualizovatZaznamyButton.Click     += AktualizovatZaznamyButton_Click;

            // Zrušení nepotřebných komponent
            UlozitButton.Visibility  = Visibility.Collapsed;
            VyhedatButton.Visibility = Visibility.Collapsed;
            SeznamZaznamuProExportCanvas.Visibility = Visibility.Collapsed;
        }
Beispiel #14
0
        /// <summary>
        /// Úvodní nastavení okna v režimu přidání nového záznamu.
        /// </summary>
        public void UvodniNastaveniRezimuPridavani()
        {
            // Úvodní nastavení okna
            Title = "Přidat nový záznam";
            Icon  = new BitmapImage(new Uri(Path.Combine(Validace.VratCestuSlozkyAplikace(), "Icons\\NewFile.png")));

            // Úvodní nastavení interních proměnných
            Nazev = "";
            Datum = DateTime.Now.Date;
            PrijemVydaj_Hodnota = 0;
            Poznamka            = "";
            KategorieZaznamu    = Kategorie.Nevybrano;

            // Vytvoření instance třídy pro nastavení stylů tlačítek
            GrafickePrvky Grafika = new GrafickePrvky();

            // Nastavení stylu tlačítek
            Grafika.NastavTlacitkoULOZIT(UlozitButton);
            Grafika.NastavTlacitkoPRIDATPOZNAMKU(NastavPoznamkuButton);
            Grafika.NastavTlacitkoPRIDATPOLOZKY(NastavPolozkuButton);

            // Nastavení zadávacích polí
            NastavZadavaciPole();
        }
        /// <summary>
        /// Obsluha události při najetí kurzoru myši na daný blok v seznamu.
        /// </summary>
        /// <param name="sender">Vybraný objekt</param>
        /// <param name="e">Vyvolaná udáost</param>
        private void GrafZaznam_MouseMove(object sender, MouseEventArgs e)
        {
            // Ošetření pro případ že infobulbina není určena k vykreslení
            if (InfoCanvas == null)
            {
                return;
            }

            // Vykreslení informační bubliny
            if (InfoVykresleno == 0)
            {
                // Převedení zvoleného objektu zpět na StackPanel
                StackPanel blok = sender as StackPanel;

                // Odstranění prefixu "obr" z názvu bloku
                string IndexZaznamu = blok.Name.Substring(3);

                // Identifikace záznamu na základě indexu objektu (Zjištění o jaký záznam se jedná) a vytvoření informační buliny daného záznamu
                VykresliInfoBublinu(ZaznamyNaJedneStrance[(int)Validace.NactiCislo(IndexZaznamu)]);

                // Nastavení příznakové proměnné pro zamezení opětovného vykreslování
                InfoVykresleno = 1;
            }
        }