/// <summary> /// Načte svátky a narozeniny na ten den a zobrazí je, nastaví další aktualizaci (třeba začátek dalšího den) /// </summary> private void AktualizujSvatky() { timer.Stop(); Obecne.Svatky(DateTime.Today.ToString("d-M"), labelSvatky, true, true); // Pomocná funkce, která získá požadovaný věci a uloží je do labelu v textovém provedení int dalsi = (23 - DateTime.Now.Hour) * 3600000 + (59 - DateTime.Now.Minute) * 60000 + (59 - DateTime.Now.Second) * 1000 + 30000; if (dalsi <= 0) // Předcházení několikanásobnému aktualizování během jedné sekundy { dalsi = 30000; } timer.Interval = dalsi; timer.Start(); }
/// <summary> /// Obsluha události, kdy v kalendáři změníme datum výběru, aby se načetli nové události /// </summary> private void monthCalendar_DateChanged(object sender, DateRangeEventArgs e) { VytvorDotazy(); // Je potřeba vytvořit nové dotazy pro nový den Obecne.Svatky(monthCalendar.SelectionStart.Day.ToString() + "-" + monthCalendar.SelectionStart.Month.ToString(), labelSvatek); // Získáme přehled svátků pro nový den AktualizujKalendar(); // Aktualizujeme data v kalendáři, ale dopředu, projeví se až později, protože všechna potřebná data pro nové datum už byla načtena předem if ((monthCalendar.SelectionEnd - monthCalendar.SelectionStart).Days > 0 && textBoxCasHodina.Enabled == true) // Vypneme možnost souvislé události pokud nelze nastavovat čas, nebo není vybráno více dnů { checkBoxSouvisla.Enabled = true; } else { checkBoxSouvisla.Enabled = false; } }
/// <summary> /// Načte svátky pro daný den /// </summary> private void AktualizujSvatky() { Obecne.Svatky(monthCalendar.SelectionStart.Day.ToString() + "-" + monthCalendar.SelectionStart.Month.ToString(), labelSvatek); }