コード例 #1
0
        /// <summary>
        /// Když je kliknuto pravým na popisek události, tak se otevře nabídka
        /// </summary>
        private void contextMenuStrip_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        {
            udalost = ((ContextMenuStrip)sender).SourceControl.Tag.ToString(); // Získáme z nabídky na co bylo kliknuto a z toho ID události, které to přísluší
            if (udalost == "-1")                                               // Pokud to je jen popisek pro nula položek, tak zrušíme zobrazení nabídky
            {
                e.Cancel = true;
                return;
            }
            Databaze db = new Databaze();

            db.Dotaz("SELECT Typ FROM udalosti WHERE ID=" + udalost + ";"); // Zjistíme typ události, na kterou bylo kliknuto
            while (db.DalsiVysledek())
            {
                typ = db.DejVysledekInt("Typ");
                if (typ != (int)Obecne.UdalostiTypy.narozeniny) // Pokud to nebyly narozeniny, tak je zobrazeno možnost posunout to o rok a o hodinu, jinak je neaktivní (protože narozeniny jsou uloženy, že se staly v roce 4 a takto by odešli do roku 5)  a s hodinama taky nechceme hýbat
                {
                    this.toolStripMenuItemPosunoutUdalostORok.Enabled    = true;
                    this.toolStripMenuItemPosunoutUdalostOHodinu.Enabled = true;
                }
                else
                {
                    this.toolStripMenuItemPosunoutUdalostORok.Enabled    = false;
                    this.toolStripMenuItemPosunoutUdalostOHodinu.Enabled = false;
                }
            }
            db.Close();
        }
コード例 #2
0
        /// <summary>
        /// Pokud byla v nabídce vybrána možnost smazat událost, tak se smaže a bude provedeno znovunačtení událostí, případně svátků
        /// </summary>
        private void toolStripMenuItemSmazatUdalost_Click(object sender, EventArgs e)
        {
            Databaze db = new Databaze();

            db.Dotaz("SELECT Nadpis FROM udalosti WHERE ID=" + udalost + ";"); // Vytáhneme název události
            string nadpis = "";

            while (db.DalsiVysledek())
            {
                nadpis = db.DejVysledekString("Nadpis");
            }
            db.Dotaz("SELECT COUNT(*) AS Pocet FROM udalosti WHERE Nadpis='" + nadpis + "';"); // Spočítáme kolik událsotí sdílí tento název
            while (db.DalsiVysledek())
            {
                if (db.DejVysledekInt("Pocet") < 2) // Pokud méně než dva, tak název odstraníme z kolekce našeptávače
                {
                    Obecne.PametNadpis.Remove(nadpis);
                }
            }
            db.Dotaz("DELETE FROM udalosti WHERE ID=" + udalost + ";"); // Smažeme událost z databáze
            db.Close();
            Obecne.OnZmenaVUdalostech();                                // Informujeme o změně v událostech
            if (typ == (int)Obecne.UdalostiTypy.narozeniny)             // V případě narozenin informujeme i o změně narozenin
            {
                Obecne.OnZmenaVeSvatcich();
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: KybelHybel/Karate
        public static void ConnectDB()
        {
            const string sqlCon = @"data source = localhost\SQLEXPRESS; initial catalog = master; integrated security = SSPI";
            var          db     = new Databaze(sqlCon);

            DbPersist.Instance.Db = db;
        }
コード例 #4
0
ファイル: Alarm.cs プロジェクト: Sqeee/ukolnik
        /// <summary>
        /// Zjistí, kdy se má zobrazit další upozornění, pokud je to déle než za pět minut, tak za dalších 5 minut bude provedena kontrola, aby nedocházelo k případným zpožděním
        /// </summary>
        private void DalsiAlarm()
        {
            int      dalsi = 300000;
            Databaze db    = new Databaze();

            db.Dotaz("SELECT Upozorneni FROM udalosti WHERE (Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitAutomaticky).ToString() + " OR Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitVlastni).ToString() + ") AND (Splneno=0 OR Typ=" + ((int)Obecne.UdalostiTypy.narozeniny).ToString() + ") ORDER BY Upozorneni ASC LIMIT 1;"); // Vytáhne události, na které se má upozornit a nebylo na ně už upozorněno a také nejsou ještě splněny (splněnost v případě narozenin je ignorována, protože je využívána k přechodu na další rok)
            DateTime kdy;

            while (db.DalsiVysledek())
            {
                DateTime nyni = DateTime.Now;
                kdy = db.DejVysledekDatumCas("Upozorneni"); // Kdy má být další upozornění
                if (kdy >= nyni.AddMinutes(5))              // Pokud je další upozornění za víc než 5 minut, tak další kontrola bude za 5 minut, prevence před zpožděním při velkém časovém rozdílu
                {
                    dalsi = 300000;
                }
                else if (kdy <= nyni) // Pokud už upozornění mělo být, tak další kontrola bude za sekundu, aby nedošlo k přehlcení
                {
                    dalsi = 1000;
                }
                else
                {
                    dalsi = ((int)(kdy - nyni).TotalSeconds) * 1000; // Spočítáme si, za jak dlouho s emá upozornit na událost
                }
            }
            if (dalsi <= 0) // Kdyby náhodou byl rozdíl časů menší než sekunda, tak další kontrola je až za sekundu (ochrana před přehlcením)
            {
                dalsi = 1000;
            }
            db.Close();
            this.Interval = dalsi;
        }
コード例 #5
0
        /// <summary>
        /// Způsobí uložení změn a zavře okno
        /// </summary>
        private void buttonUložit_Click(object sender, EventArgs e)
        {
            Databaze db = new Databaze();

            if (zmenyDnu.Count > 0) // Jsou nějaké změny ve významných dnech, pokud ano, tak je prostupně projdeme a uložíme do databáze
            {
                foreach (int i in zmenyDnu)
                {
                    db.Dotaz("UPDATE vyznamne_dny SET Upozornit=" + JeZaskrtnuto(i, checkedListBoxVyznamneDny) + " WHERE Datum='" + ZiskejDatum(checkedListBoxVyznamneDny.Items[i].ToString()) + "'");
                }
            }
            if (zmenySvatku.Count > 0) // Jsou nějaké změny ve svátcích, pokud ano, tak je prostupně projdeme a uložíme do databáze
            {
                foreach (int i in zmenySvatku)
                {
                    db.Dotaz("UPDATE svatky SET Upozornit=" + JeZaskrtnuto(i, checkedListBoxSvatky) + " WHERE Datum='" + ZiskejDatum(checkedListBoxSvatky.Items[i].ToString()) + "'");
                }
            }
            db.Close();
            if (zmenyDnu.Count > 0 || zmenySvatku.Count > 0) // Pokud došlo k nějaké změně, tak je třeba aktualizovat svátky
            {
                Obecne.OnZmenaVeSvatcich();
            }
            this.Close();
        }
コード例 #6
0
        private void Button_Clicked(object sender, EventArgs e)
        {
            PristupTabulka pristup = new PristupTabulka();
            Databaze       db      = new Databaze(pristup.DataAccess());
            Predmet        predmet = new Predmet();

            if (db.GetAllPredmety().Count() == 0 & !string.IsNullOrWhiteSpace(nazevinput.Text))
            {
                predmet.Nazev = nazevinput.Text;
                db.SaveItemPredmet(predmet);
                Navigation.PushAsync(new MainPage());
            }
            else if (db.GetAllPredmety().Count() > 0 & !string.IsNullOrWhiteSpace(nazevinput.Text))
            {
                foreach (Predmet p in db.GetAllPredmety())
                {
                    if (p.Nazev != nazevinput.Text)
                    {
                        predmet.Nazev = nazevinput.Text;
                        db.SaveItemPredmet(predmet);
                        Navigation.PushAsync(new MainPage());
                    }
                    else if (p.Nazev == nazevinput.Text)
                    {
                        DisplayAlert("Chyba", "Tento předmět již existuje", "OK");
                    }
                }
            }
            else if (string.IsNullOrWhiteSpace(nazevinput.Text))
            {
                DisplayAlert("Chyba", "Název nesmí být prázdný", "OK");
            }
        }
コード例 #7
0
        public MainPage()
        {
            InitializeComponent();
            PristupTabulka pristup = new PristupTabulka();
            Databaze       db      = new Databaze(pristup.DataAccess());

            foreach (Predmet p in db.GetAllPredmety())
            {
                Label label = new Label();
                label.Text     = p.Nazev;
                label.FontSize = 18;
                layout.Children.Add(label);
                foreach (Znamka z in db.GetZnamky(p.Id))
                {
                    Label label2 = new Label();
                    label2.Text = z.znamka.ToString() + " - Váha: " + z.Vaha.ToString();
                    layout.Children.Add(label2);
                    if (deleteZnamka)
                    {
                        Button button = new Button();
                        button.Clicked += Button_Clicked5;
                        button.ClassId  = z.ID.ToString();
                        layout.Children.Add(button);
                    }
                }
                Label label3 = new Label();
                label3.Text = "Průměr: " + db.prumerPredmetu(p.Id).ToString();
                layout.Children.Add(label3);
                BoxView boxview = new BoxView();
                boxview.Color         = Color.Black;
                boxview.WidthRequest  = 100;
                boxview.HeightRequest = 1;
                layout.Children.Add(boxview);
            }
        }
コード例 #8
0
        private void Button_Clicked(object sender, EventArgs e)
        {
            PristupTabulka pristup = new PristupTabulka();
            Databaze       db      = new Databaze(pristup.DataAccess());
            int            value;
            int            value2;

            if (int.TryParse(znamkainput.Text, out value) & int.TryParse(vahainput.Text, out value2))
            {
                foreach (Predmet p in db.GetAllPredmety())
                {
                    if (p.Nazev == (string)predmetinput.SelectedItem)
                    {
                        Znamka znamka = new Znamka();
                        znamka.znamka    = value;
                        znamka.Vaha      = value2;
                        znamka.PredmetID = p.Id;
                        p.Znamky         = new List <Znamka> {
                            znamka
                        };
                        db.SaveItemZnamka(znamka);
                        Navigation.PushAsync(new MainPage());
                    }
                }
            }
        }
コード例 #9
0
        /// <summary>
        /// Zpracuje databázové změny při aktualizaci
        /// </summary>
        private void webBrowserDatabaze_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            String zdrojak = PrectiZdrojak(webBrowserDatabaze); // Získáme data, tedy dotazy pro aktualizaci databáze

            progressBarKonfigurace.PerformStep();
            const String KONTROLNI_ZACATEK = "DATABAZE-ZACATEK-OK";
            const String KONTROLNI_KONEC   = "DATABAZE-KONEC-OK";

            if (zdrojak.Substring(0, KONTROLNI_ZACATEK.Length) != KONTROLNI_ZACATEK || zdrojak.Substring(zdrojak.Length - KONTROLNI_KONEC.Length) != KONTROLNI_KONEC) // Kontrola, zda se stáhly
            {
                this.DialogResult = DialogResult.Abort;
                this.Close();
                return;
            }
            zdrojak = zdrojak.Remove(zdrojak.Length - KONTROLNI_KONEC.Length); // Ořeže kontrolní řetězec na konci
            zdrojak = zdrojak.Substring(KONTROLNI_ZACATEK.Length);             // Ořeže kontrolní řetězec na začátku
            if (zdrojak != "")                                                 // Pokud jsou nějaké dotazy, tak se provedou
            {
                Databaze db = new Databaze();
                db.Dotaz(zdrojak);
            }
            // Uklidíme po sobě
            webBrowserDatabaze.DocumentCompleted -= webBrowserDatabaze_DocumentCompleted;
            webBrowserDatabaze.Dispose();
            webBrowserDatabaze = null;
            progressBarKonfigurace.PerformStep();
            HotovoAkce(); // Zkontrolujeme, zda už je vše hotové
        }
コード例 #10
0
 /// <summary>
 /// Constructor
 /// </summary>
 public PredmetManager(Databaze databaze)
 {
     Predmety = databaze.Predmety;
     Databaze = databaze;
     // testovací
     //LoadDataFromCSV();
     //PrintCSV();
 }
コード例 #11
0
 /// <summary>
 /// Constructor
 /// </summary>
 public VyucujiciManager(Databaze databaze)
 {
     Vyucujici = databaze.Vyucujici;
     Databaze  = databaze;
     // testovací
     //LoadDataFromCSV();
     //PrintCSV();
 }
コード例 #12
0
 /// <summary>
 /// Constructor
 /// </summary>
 public StudijniOborManager(Databaze databaze)
 {
     StudijniObory = databaze.StudijniObory;
     Databaze      = databaze;
     // testovací
     //LoadDataFromCSV();
     //PrintCSV();
 }
コード例 #13
0
 /// <summary>
 /// Constructor
 /// </summary>
 public StudentManager(Databaze databaze)
 {
     Studenti = databaze.Studenti;
     Databaze = databaze;
     // testovací
     //LoadDataFromCSV();
     //PrintCSV();
 }
コード例 #14
0
        /// <summary>
        /// Načte data pro událost a vyplní jimi jednotlivé prvky
        /// </summary>
        private void NactiData()
        {
            Databaze db = new Databaze();

            db.Dotaz("SELECT * FROM udalosti WHERE ID=" + Udalost.ToString() + ";"); // Vytáhneme info z databáze
            while (db.DalsiVysledek())
            {
                comboBoxTyp.SelectedIndex = db.DejVysledekInt("Typ");                                                             // ComboBox dostane typ události
                Typ = comboBoxTyp.SelectedIndex;                                                                                  // Také ten typ uložíme do sledování typu, abychom pak věděli, zda to byli narozeniny nebo ne
                textBoxNadpis.Text = db.DejVysledekString("Nadpis");                                                              // Nastavíme nadpis
                Nadpis             = textBoxNadpis.Text;                                                                          // Nadpis si zapamatujeme pro případné odstranění z kolekce
                textBoxZprava.Text = db.DejVysledekString("Zprava");                                                              // Popis události nastavíme
                DateTime datum = db.DejVysledekDatumCas("Kdy");                                                                   // Nastavíme kdy (den, měsíc a rok) se koná událost
                textBoxCasHodina.Text = datum.Hour.ToString();                                                                    // Nastavíme hodinu konání události
                textBoxCasMinuta.Text = datum.ToString("mm");                                                                     // Nastavíme minutu konání události
                if (Typ == (int)Obecne.UdalostiTypy.narozeniny)                                                                   // Pokud to jsou narozeniny, tak musíme speciálně zobrazit datum konání, aby to zobrazilo nejbližší budoucí narozeniny
                {
                    if (datum.Month > DateTime.Now.Month || (datum.Month == DateTime.Now.Month && datum.Day >= DateTime.Now.Day)) // Pokud nás ty narozeniny čekají ještě letos, tak rok nastavíme na letošek
                    {
                        datum = datum.AddYears(DateTime.Now.Year - datum.Year);
                    }
                    else // Pokud nás narozeniny čekají příští rok, tak se nastaví příští rok
                    {
                        datum = datum.AddYears(1 + DateTime.Now.Year - datum.Year);
                    }
                }
                DateTime upozorneni;                                                           // Zde bude uloženo, kdy má proběhnout upozornění
                if (db.DejVysledekInt("Upozorneno") == (int)Obecne.UpozorneniTypy.neupozornit) // Pokud se neupozorňuje, tak se vybere možnost neupozorňovat a upozornění se nastaví na automatické upozornění (jen aby tam něco bylo)
                {
                    radioButtonNe.Checked = true;
                    upozorneni            = datum;
                    upozorneni            = upozorneni.AddMinutes(Nastaveni.UpozorneniDopredu * -1);
                }
                else if (db.DejVysledekInt("Upozorneno") == (int)Obecne.UpozorneniTypy.upozornitVlastni || db.DejVysledekInt("Upozorneno") == (int)Obecne.UpozorneniTypy.upozornenoVlastni) // Pokud je nastavené vlastní upozornění, tak se vybere možnost Vlastní a upozornění se nastaví na to, které bylo nastavené u události
                {
                    radioButtonVlastni.Checked = true;
                    upozorneni = db.DejVysledekDatumCas("Upozorneni");
                }
                else // Pokud je upozornění automatické (případně už upozorněné), tak se nastaví jako automatické upozornění, upozornění se odvodí automaticky z doby konání události
                {
                    radioButtonAno.Checked = true;
                    upozorneni             = datum;
                    upozorneni             = upozorneni.AddMinutes(Nastaveni.UpozorneniDopredu * -1);
                }
                datum = datum.AddHours(datum.Hour * -1);                       // Vynulujeme hodinu v datu, abychom začínali od nuly (by se to jinak přičítalo k původnímu času, takže když by byl původní 10 hodin, dáme novej 11, tak by výsledek byl 21)
                datum = datum.AddMinutes(datum.Minute * -1);                   // To samé jako s hodinama, jen to je s minutama
                monthCalendar.SetSelectionRange(datum, datum);                 // Nastavíme, aby byl vybrán den konání události
                puvodniDatumUdalosti            = datum;                       // Nastavíme původní datum
                textBoxCasHodinaUpozorneni.Text = upozorneni.Hour.ToString();  // Získá se hodina upozornění
                textBoxCasMinutaUpozorneni.Text = upozorneni.ToString("mm");   // Získá se minuta upozornění
                upozorneni = upozorneni.AddHours(upozorneni.Hour * -1);        // Upozornění opět vynulujeme, aby nám neovlivňovalo počet hodin, protože se změna budou přičítat, takže je potřeba mít nulu
                upozorneni = upozorneni.AddMinutes(upozorneni.Minute * -1);    // Stejné jako pro hodiny, jen to je pro minuty
                dateTimePickerUpozorneni.Value = upozorneni;                   // Získané upozornění se nastaví do dateTimePickeru
                comboBoxSplneno.SelectedIndex  = db.DejVysledekInt("Splneno"); // Nastaví se, zda byla událost splněna nebo ne
            }
            db.Close();
        }
コード例 #15
0
        public OdebratPredmet()
        {
            InitializeComponent();
            Databaze db = new Databaze(pristup.DataAccess());

            foreach (Predmet p in db.GetAllPredmety())
            {
                predmetinput.Items.Add(p.Nazev);
            }
        }
コード例 #16
0
        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            Databaze databaze = new Databaze();

            databaze.Main();


            return(View(databaze));
        }
コード例 #17
0
 /// <summary>
 /// Při kliknutí na hotovo, kdy se té události nastaví hotovo, umlčí alarm a zavře upozornění
 /// </summary>
 private void buttonHotovo_Click(object sender, EventArgs e)
 {
     Prehravac.Stop();
     if (Typ != (int)Obecne.UdalostiTypy.narozeniny)
     {
         Databaze db = new Databaze();
         db.Dotaz("UPDATE udalosti SET Splneno=1 WHERE ID=" + Udalost.ToString() + ";");
         db.Close();
     }
     this.Close();
 }
コード例 #18
0
        public PridatZnamku()
        {
            InitializeComponent();
            PristupTabulka pristup = new PristupTabulka();
            Databaze       db      = new Databaze(pristup.DataAccess());

            foreach (Predmet p in db.GetAllPredmety())
            {
                predmetinput.Items.Add(p.Nazev);
            }
        }
コード例 #19
0
        private async void Button_Clicked5(object sender, EventArgs e)
        {
            PristupTabulka pristup = new PristupTabulka();
            Databaze       db      = new Databaze(pristup.DataAccess());
            var            button  = (Button)sender;
            var            classId = button.ClassId;
            Znamka         znamka  = db.GetItemZnamka(int.Parse(button.ClassId));
            var            answer  = await DisplayAlert("Potvrzení smazání známky", "Chcete opravdu smazat " + znamka.znamka + " z předmětu " + db.GetItemPredmet(znamka.PredmetID) + "?", "Ano", "Ne");

            if (answer.Equals("Ano"))
            {
                db.DeleteItemZnamka(db.GetItemZnamka(int.Parse(classId)));
                deleteZnamka = false;
                Page_Reload();
            }
        }
コード例 #20
0
        /// <summary>
        /// Zjistí maximální stránku, která může být a tu vrátí
        /// </summary>
        /// <returns>Vrátí maximální možnou stránku</returns>
        private int MaxStranka()
        {
            int      stranka = -1; // Pro pířpad, že by bylo nula položek do tabulky
            Databaze db      = new Databaze();

            db.Dotaz(dotazNaPocet); // Zjistíme kolik je položek
            while (db.DalsiVysledek())
            {
                if (db.DejVysledekInt("Pocet") != 0) // Když je alespoň jedna, tak spočítáme na kolik stránek to bude
                {
                    stranka = (db.DejVysledekInt("Pocet") - 1) / tableLayoutPanel.RowCount;
                }
            }
            db.Close();
            return(stranka); // Vrátíme počet stránek
        }
コード例 #21
0
ファイル: Program.cs プロジェクト: luanmacek/SchoolGrades
        public static void Debug()
        {
            PristupTabulka pristup  = new PristupTabulka();
            Databaze       databaze = new Databaze(pristup.DataAccess());

            Znamka znamka = new Znamka();

            znamka.znamka = 5;
            znamka.Vaha   = 60;
            databaze.SaveItemZnamka(znamka);

            Predmet vah = new Predmet();

            vah.Nazev  = "VAH";
            vah.Znamky = new List <Znamka> {
                znamka
            };
            databaze.SaveItemPredmet(vah);

            Znamka znamka2 = new Znamka();

            znamka2.znamka    = 5;
            znamka2.Vaha      = 30;
            znamka2.PredmetID = 1;
            databaze.SaveItemZnamka(znamka2);

            Predmet psi = new Predmet();

            psi.Nazev  = "PSI";
            psi.Znamky = new List <Znamka> {
                znamka2
            };
            databaze.SaveItemPredmet(psi);

            List <Znamka> list = databaze.GetZnamky(0);

            foreach (Znamka z in list)
            {
                Console.WriteLine();
                Console.WriteLine("ID - " + z.ID);
                Console.WriteLine("Známka - " + z.znamka);
                Console.WriteLine("Váha - " + z.Vaha);
                Console.WriteLine();
                //databaze.DeleteItem(z);
            }
            Console.WriteLine(databaze.prumerPredmetu(0));
        }
コード例 #22
0
ファイル: NastavovaciOkno.cs プロジェクト: Sqeee/ukolnik
 /// <summary>
 /// Při stisku tlačítka uložit provedeme uložení nastavení
 /// </summary>
 private void buttonUlozit_Click(object sender, EventArgs e)
 {
     if (Problemu == 0)                                                                                                                             // Pokud je vše OK, tak pokračujeme
     {
         int  upozornit = Convert.ToInt32(textBoxMinuty.Text) + Convert.ToInt32(textBoxHodiny.Text) * 60 + Convert.ToInt32(textBoxDny.Text) * 1440; // Spočítáme kolik minut to je to automatické upozornění dopředu
         bool spousteni = true;
         if (comboBoxSpousteni.SelectedIndex == 1)                                                                                                  // Pokud nebylo vybráno automatické spouštění při startu počítače, tak se vypne spouštění, jinak se ponechá zaplé
         {
             spousteni = false;
         }
         bool vypisy = true;
         if (comboBoxChyby.SelectedIndex == 1) // Pokud nebyly vybrány podrobné popisy vyjimek, tak se nebudou zobrazovat, jinak se ponechá jejich zobrazování
         {
             vypisy = false;
         }
         Databaze db = new Databaze(textBoxServer.Text, textBoxUzivatel.Text, textBoxHeslo.Text, textBoxDatabaze.Text); // Testovací připojení k databázi s nově nastavenými hodnotami
         db.Dotaz("SHOW TABLES");                                                                                       // Slouží jako testovací příkaz zda bylo vše dobře zadáno (pokud totiž by bylo prázdné uživatelské jméno a heslo, tak nás to nechá připojit, ale nefungují dotazy)
         if (db.DejVysledku() == -1)                                                                                    // Připojení se nezdařilo
         {
             return;
         }
         db.Dotaz(Ukolnik.Properties.Resources.create);     // Vytvoříme tabulky (pouze pokud už nebyly vytvořeny)
         db.Dotaz("SELECT COUNT(*) AS Pocet FROM svatky;"); // Zkontrolujeme, zda tabulka se svátky není prázdná, pokud je, tak ji naplníme
         while (db.DalsiVysledek())
         {
             if (db.DejVysledekInt("Pocet") == 0)
             {
                 db.Dotaz(Ukolnik.Properties.Resources.svatky);
             }
         }
         db.Dotaz("SELECT COUNT(*) AS Pocet FROM vyznamne_dny;"); // Zkontrolujeme, zda tabulka s významnými dny není prázdná, pokud je, tak ji naplníme
         while (db.DalsiVysledek())
         {
             if (db.DejVysledekInt("Pocet") == 0)
             {
                 db.Dotaz(Ukolnik.Properties.Resources.vyznamne_dny);
             }
         }
         Nastaveni.UpravNastaveni(textBoxServer.Text, textBoxUzivatel.Text, textBoxHeslo.Text, textBoxDatabaze.Text, spousteni, upozornit, vypisy); // Když vše dobře proběhlo, tak si nové připojovací údaje uložíme interně
         Nastaveni.UlozNastaveni();                                                                                                                 // A taky do konfiguráku se to uloží
         Nastaveni.OnZmenaPripojeni();                                                                                                              // Vyvoláme nucenou změnu připojení u všech již otevřených spojeních s databází
         Chyba        = false;                                                                                                                      // Chyba byla zažehnána
         DialogResult = System.Windows.Forms.DialogResult.Yes;                                                                                      // Signalizace úspěchu
         db.Close();                                                                                                                                // Zvařeme spojení s databází
     }
 }
コード例 #23
0
        /// <summary>
        /// Pokud bylo kliknuto na tlačítko Smazat událost, tak se provede její smazání a zavření okna
        /// </summary>
        private void buttonSmazat_Click(object sender, EventArgs e)
        {
            alarm.Vypnout(); // Vypne se alarm na upozornění
            Databaze db = new Databaze();

            db.Dotaz("SELECT COUNT(*) AS Pocet FROM udalosti WHERE Nadpis='" + Nadpis + "';"); // Získá se z databáze počet událsotí s daným nadpisem
            while (db.DalsiVysledek())
            {
                if (db.DejVysledekInt("Pocet") < 2) // Pokud byla jediná, tak se nadpis vymaže z kolekce
                {
                    Obecne.PametNadpis.Remove(Nadpis);
                }
            }
            db.Dotaz("DELETE FROM udalosti WHERE ID=" + Udalost.ToString() + ";"); // Smažeme událost
            db.Close();
            this.Close();                                                          // Zavřeme okno, má nastavený dialog result na Yes, takže dojde k aktualizaci událostí (případně i svátků v případě narozenin)
        }
コード例 #24
0
ファイル: PictureBoxSplneno.cs プロジェクト: Sqeee/ukolnik
        /// <summary>
        /// Obsluha kliknutí, kdy bude splněno nebo nesplněna událost, ke které patří tento PictureBox
        /// </summary>
        private void PictureBoxSplneno_Click(object sender, EventArgs e)
        {
            Databaze db = new Databaze();
            string   splneno;

            if ((string)((PictureBox)sender).Image.Tag == "fajfka") // Pokud tam byl obrázek fajfky, tak daná událost byla splněna kliknutím, v opačném případě byla nesplněna
            {
                splneno = "1";
            }
            else
            {
                splneno = "0";
            }
            db.Dotaz("UPDATE udalosti SET Splneno=" + splneno + " WHERE id=" + ((PictureBox)sender).Tag + ";"); // Provedeme změnu splněnosti pro danou událost
            db.Close();
            Obecne.OnZmenaVUdalostech();                                                                        // Je potřeba znovu načíst události
        }
コード例 #25
0
        /// <summary>
        /// Jakmile je upozornění načteno, tak se zapne alarm a pro danou událost se nastaví, že na ni bylo upozorněno, v případě narozenin se upozornění posune o rok
        /// </summary>
        private void Upozorneni_Load(object sender, EventArgs e)
        {
            Prehravac.PlayLooping();
            Databaze db = new Databaze();

            if (Typ != (int)Obecne.UdalostiTypy.narozeniny)
            {
                db.Dotaz("UPDATE udalosti SET Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornenoAutomaticky).ToString() + " WHERE ID=" + Udalost.ToString() + " AND Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitAutomaticky).ToString() + ";");
                db.Dotaz("UPDATE udalosti SET Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornenoVlastni).ToString() + " WHERE ID=" + Udalost.ToString() + " AND Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitVlastni).ToString() + ";");
            }
            else
            {
                db.Dotaz("UPDATE udalosti SET Upozorneni=DATE_ADD(Upozorneni, INTERVAL 1 YEAR) WHERE ID=" + Udalost.ToString() + ";");
                comboBoxPosun.Items.Remove("Hodinu");
                comboBoxPosun.Items.Remove("Rok");
            }
            db.Close();
        }
コード例 #26
0
ファイル: Alarm.cs プロジェクト: Sqeee/ukolnik
 /// <summary>
 /// Provede zobrazení upozornění na události, kde už je čas
 /// </summary>
 private void ZobrazAlarmy()
 {
     lock (this) // Po probuzení ze spánku by mohlo být trošku víc alarmů
     {
         Databaze db = new Databaze();
         db.Dotaz("SELECT ID FROM udalosti WHERE (Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitAutomaticky).ToString() + " OR Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitVlastni).ToString() + ") AND Upozorneni<=NOW() AND (Splneno=0 OR Typ=" + ((int)Obecne.UdalostiTypy.narozeniny).ToString() + ") ORDER BY Upozorneni ASC;"); // Vytáhne události, na které se má upozornit a nebylo na ně už upozorněno a také nejsou ještě splněny (splněnost v případě narozenin je ignorována, protože je využívána k přechodu na další rok), tahá je v pořadí od nejstaršího dle doby upozornění
         while (db.DalsiVysledek())
         {
             Obecne.IkonaStav(false);                                    // Aby se nedal obejít dialog ikonkou
             Upozorneni alarm = new Upozorneni(db.DejVysledekInt("ID")); // Předá se upozorněnímu ID události
             if (DialogResult.Yes == alarm.ShowDialog())                 // Pokud bylo při upozornění kliknuto na splněno, tak dojde k aktualizaci událostí
             {
                 Obecne.OnZmenaVUdalostech();
             }
             Obecne.IkonaStav(true);
         }
         db.Close();
     }
 }
コード例 #27
0
        private async void Button_Clicked(object sender, EventArgs e)
        {
            var answer = await DisplayAlert("Potvrzení smazání předmětu", "Chcete opravdu smazat tento" + predmetinput.SelectedItem.ToString(), "Ano", "Ne");

            if (answer.Equals("Ano"))
            {
                Databaze db = new Databaze(pristup.DataAccess());
                foreach (Predmet p in db.GetAllPredmety())
                {
                    if (p.Nazev.Equals((string)predmetinput.SelectedItem))
                    {
                        db.DeleteItemPredmet(p);
                        foreach (Znamka z in db.GetZnamky(p.Id))
                        {
                            db.DeleteItemZnamka(z);
                        }
                        await Navigation.PushAsync(new MainPage());
                    }
                }
            }
        }
コード例 #28
0
        /// <summary>
        /// Načte komponenty a provede základní nastavení
        /// </summary>
        public Svatky()
        {
            InitializeComponent();
            Databaze db = new Databaze();

            db.Dotaz("SELECT Upozornit, Den, Datum FROM vyznamne_dny ORDER BY Den;"); // Získá významné dny, které postupně vloží do checkedListBoxu i s tím, zda si je přeje zvýrazňovat
            while (db.DalsiVysledek())
            {
                checkedListBoxVyznamneDny.Items.Add(db.DejVysledekString("Den") + " (" + db.DejVysledekString("Datum").Replace('-', '.') + ")", Convert.ToBoolean(db.DejVysledekInt("Upozornit")));
            }
            db.Dotaz("SELECT Upozornit, Jmeno, Datum FROM svatky ORDER BY Jmeno;"); // Získá svátky, které postupně vloží do checkedListBoxu i s tím, zda si je přeje zvýrazňovat
            while (db.DalsiVysledek())
            {
                checkedListBoxSvatky.Items.Add(db.DejVysledekString("Jmeno") + " (" + db.DejVysledekString("Datum").Replace('-', '.') + ")", Convert.ToBoolean(db.DejVysledekInt("Upozornit")));
            }
            db.Close();
            NactiNarozeniny();                                                          // Načteme narozeniny
            checkedListBoxVyznamneDny.ItemCheck += checkedListBoxVyznamneDny_ItemCheck; // Už je třeba sledovat změny checků u významných dnů
            checkedListBoxSvatky.ItemCheck      += checkedListBoxSvatky_ItemCheck;      // Už je třeba sledovat změny checků u svátků
            Obecne.ZmenaVeSvatcich += NactiNarozeniny;                                  // Je potřeba sledovat změny ve svátcích, abychom aktualizovali seznam narozenin
        }
コード例 #29
0
        /// <summary>
        /// Provede načtení narozenin a zobrazení kolik je komu roků
        /// </summary>
        private void NactiNarozeniny()
        {
            Obecne.PripravNarozeninyPrehled(); // Připraví narozeniny, aby seděli roky
            richTextBoxNarozeniny.Text = "";   // Vymažeme dosavadní seznam narozenin
            Databaze db = new Databaze();

            db.Dotaz("SELECT Kdy, Nadpis, Zprava, Splneno FROM udalosti WHERE Typ=" + ((int)Obecne.UdalostiTypy.narozeniny).ToString() + " ORDER BY Nadpis;"); // Získá seznam lidí, kteří maj zadané narozeniny a zobrazí je i kolik jim je
            while (db.DalsiVysledek())
            {
                richTextBoxNarozeniny.Text += db.DejVysledekString("Nadpis") + " " + db.DejVysledekDatumCas("Kdy").ToString("d.M") + "." + db.DejVysledekString("Zprava") + " (" + (DateTime.Today.Year - db.DejVysledekInt("Zprava") + -1 + db.DejVysledekInt("Splneno") + Convert.ToInt32(DateTime.Today.Day == db.DejVysledekDatumCas("Kdy").Day&& DateTime.Today.Month == db.DejVysledekDatumCas("Kdy").Month)).ToString() + ")\n";
            }
            db.Close();
            if (richTextBoxNarozeniny.Text != "") // Pokud je zobrazení narozeniny neprázdné, tak odstraníme koncový nový řádek, jinak napíšeme info o nulovém počtu narozenin
            {
                richTextBoxNarozeniny.Text = richTextBoxNarozeniny.Text.Remove(richTextBoxNarozeniny.TextLength - 1);
            }
            else
            {
                richTextBoxNarozeniny.Text = "Zatím nebyly zadány žádné narozeniny";
            }
        }
コード例 #30
0
ファイル: Nastaveni.cs プロジェクト: Sqeee/ukolnik
        /// <summary>
        /// Uloží aktuální nastavení do souboru
        /// </summary>
        /// <param name="priVytvoreni">Nepovinný parametr, který značí, zda bylo uložení vyvoláno při vytvořen, takže pokud bude zde True, tak podrobné vypisování vyjímek nebude a taky se nepřepočítá upozornění na události</param>
        public static void UlozNastaveni(bool priVytvoreni = false)
        {
            string podrobnostiVyjimek;

            if (priVytvoreni == true) // Při prvním vytvoření (spíše uložení) se nastaví podrobnost vyjímek na false
            {
                podrobnostiVyjimek = "False";
                PodrobnostiVyjimek = false;
            }
            else
            {
                podrobnostiVyjimek = PodrobnostiVyjimek.ToString();
            }
            string obsah = string.Format("ver: {0}\nser: {1}\nuzi: {2}\nhes: {3}\ndab: {4}\nspo: {5}\nupo: {6}\npod: {7}\n", Verze, Server, Uzivatel, Heslo, Databaze, Spousteni.ToString(), UpozorneniDopredu.ToString(), podrobnostiVyjimek); // Vytvoření obsahu konfiguráku

            System.IO.File.WriteAllText(SlozkaNastaveni + SouborNastaveni, obsah);
            if (Spousteni == true) // Pokud je nastaveno automatické spouštění při startu, tak to vytvoří spoušťák, pokud ne, tak ho to smaže (pokud tedy ten spoušťák existuje)
            {
                //VytvorSpoustak();
                VytvorRegistry();
            }
            else
            {
                Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true).DeleteSubKey(RegistryZaznam, false);

                /*if (System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\spoustak_ukolniku.bat") == true)
                 *  System.IO.File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\spoustak_ukolniku.bat");*/
            }
            Databaze db = new Databaze();

            db.Dotaz("UPDATE udalosti SET Upozorneni=Kdy WHERE Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitAutomaticky).ToString() + " OR Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornenoAutomaticky).ToString() + ";");                                                                                                                                                                                                                    // Srovnáme upozornění s tím, kdy se bude událost konat (pouze automatické upozornění)
            db.Dotaz("UPDATE udalosti SET Upozorneni=DATE_ADD(Kdy, INTERVAL (1 + YEAR(NOW()) - YEAR(Kdy)) YEAR) WHERE (Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitAutomaticky).ToString() + " OR Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornenoAutomaticky).ToString() + ") AND Typ=" + ((int)Obecne.UdalostiTypy.narozeniny).ToString() + " AND (MONTH(NOW()) > MONTH(KDY) OR (MONTH(NOW()) = MONTH(KDY) AND DAY(NOW()) > DAY(KDY)));"); // Nastavíme příští upozornění pro narozeniny v případě, že narozeniny již tento rok byly
            db.Dotaz("UPDATE udalosti SET Upozorneni=DATE_ADD(Kdy, INTERVAL (YEAR(NOW()) - YEAR(Kdy)) YEAR) WHERE (Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitAutomaticky).ToString() + " OR Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornenoAutomaticky).ToString() + ") AND Typ=" + ((int)Obecne.UdalostiTypy.narozeniny).ToString() + " AND (MONTH(NOW()) < MONTH(KDY) OR (MONTH(NOW()) = MONTH(KDY) AND DAY(NOW()) <= DAY(KDY)));");    // Nastavíme přístí upozornění pro narozeniny, které nás ještě v tomto roce čekají
            db.Dotaz("UPDATE udalosti SET Upozorneni=DATE_ADD(Upozorneni, INTERVAL -" + UpozorneniDopredu.ToString() + " MINUTE) WHERE Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitAutomaticky).ToString() + " OR Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornenoAutomaticky).ToString() + ";");                                                                                                                                            // Dojde k přepočítání upozornění událostí, které mají automatické upozornění
            string nejmensiDatum = System.Windows.Forms.DateTimePicker.MinimumDateTime.ToString("yyyy-MM-dd HH:mm:ss");                                                                                                                                                                                                                                                                                                                                   // Zjistíme nejmenší možné datum pro sběrač data

            db.Dotaz("UPDATE udalosti SET Upozorneni='" + nejmensiDatum + "' WHERE Upozorneni<'" + nejmensiDatum + "';");                                                                                                                                                                                                                                                                                                                                 // Pokud je nějaké upozornění menší než to datum, tak ho nastavíme na to nejmenší datum, aby nám sběrač neházel chyby
            db.Dotaz("UPDATE udalosti SET Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornitAutomaticky).ToString() + " WHERE Upozorneno=" + ((int)Obecne.UpozorneniTypy.upozornenoAutomaticky).ToString() + " AND Upozorneni>NOW();");                                                                                                                                                                                                                 // Pokud díky posunutí je upozornění v budoucnu, tak opět umožníme upozornění
            db.Close();
        }