Beispiel #1
0
        public DayButton(ClickableTableCell _tc, int d, int m, int y, IPopupPage p, About pg)
        {
            // Přiřazení proměnných
            day   = d;
            month = m;
            year  = y;
            page  = p;
            tc    = _tc;


            // Event kliknutí
            tc.Click += lb_Click;

            tc.VerticalAlign   = VerticalAlign.Top;
            tc.HorizontalAlign = HorizontalAlign.Right;
            tc.RowSpan         = 1;
            tc.Wrap            = false;

            cisloLabel          = new Label();
            cisloLabel.CssClass = "cisloLabel";
            cisloLabel.Text     = day.ToString();



            bunkaLabel          = new Label();
            bunkaLabel.CssClass = "bunkaLabel";


            tc.Controls.Add(cisloLabel);
            tc.Controls.Add(new LiteralControl("<br /><br />"));
            tc.Controls.Add(bunkaLabel);
            tc.ID = d + m + y + "cb";



            tc.ID = d + m + y + "cb";
            AsyncPostBackTrigger trg = new AsyncPostBackTrigger();

            trg.ControlID = tc.ID;
            trg.EventName = "Click";
            pg.updPan.Triggers.Add(trg);
        }
Beispiel #2
0
        public void FillTable(int deviationMonth, Label MonthLabel, Label YearLabel)
        {
            System.Diagnostics.Debug.WriteLine("FILLTABLE INPUT DEVIATION " + deviationMonth);
            // mPage.updPan.Update();
            // Vyplní obsah tabulky
            ResetTable();
            int currentDay    = 1;  // proměnná určující "kolikátého" je
            int currentMonth  = DateTime.Now.Month;
            int deviationYear = 0;

            savedDeviaton = deviationMonth;
            // Zjištění roku na základě aktuálního měsíce + zvolené odchylky uživatelem
            for (int i = 0; i < Math.Abs(deviationMonth); i++)
            {
                // Kladna odchylka
                if (deviationMonth > 0)
                {
                    currentMonth++;
                    if (currentMonth > 12)  // přičtení roku
                    {
                        currentMonth = 1;
                        deviationYear++;
                    }
                }
                else
                {
                    currentMonth--;
                    if (currentMonth < 1)  // odečtení roku
                    {
                        currentMonth = 12;
                        deviationYear--;
                    }
                }
            }

            int currentYear = DateTime.Now.Year + deviationYear;
            int daysInMonth = DateTime.DaysInMonth(currentYear, currentMonth);

            // Nastavení textu labelů měsíce a roku
            string        monthText = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(currentMonth);
            StringBuilder strB      = new StringBuilder(monthText);

            strB[0]   = Char.ToUpper(monthText[0]);
            monthText = strB.ToString();

            MonthLabel.Text = monthText;
            YearLabel.Text  = currentYear.ToString();

            int dayCount  = DateTime.DaysInMonth(currentYear, currentMonth);
            int actualDay = DateTime.Now.Day;

            // Načtení rezervací z DB
            List <takenDate> takenDates =
                DateChecker.Instance.TakenDates(currentMonth, currentYear);



            // Naplnění jednoho řádku tabulky
            for (int y = 0; y < 6; y++)
            {
                TableRow tr = new TableRow();
                tr.Height = 65;

                int w = 0;
                if (y == 0)  // první den v měsíci nemusí být pondělí, zjisti tedy který den to je
                {
                    DateTime  testedDate = new DateTime(currentYear, currentMonth, currentDay);
                    DayOfWeek testedDay  = testedDate.DayOfWeek;
                    switch (testedDay)
                    {
                    case DayOfWeek.Monday: w = 1; break;

                    case DayOfWeek.Tuesday: w = 2; break;

                    case DayOfWeek.Wednesday: w = 3; break;

                    case DayOfWeek.Thursday: w = 4; break;

                    case DayOfWeek.Friday: w = 5; break;

                    case DayOfWeek.Saturday: w = 6; break;

                    case DayOfWeek.Sunday: w = 7; break;

                    default: break;
                    }
                }

                // Naplnění sloupců daného řádku
                for (int x = 1; x < 8; x++)
                {
                    // Kontrola zda číslo dne existuje v měsící a zda je daný den (po,ut,str..) v týdnu

                    // Vytvoření nové buňky
                    ClickableTableCell tc = new ClickableTableCell();


                    tc.Text     = "";
                    tc.CssClass = "none";

                    tr.Cells.Add(tc);                       // přidání do řádku

                    if (x < w)
                    {
                        continue;                           // tato buňka nepatří do tohoto měsíce
                    }
                    if (currentDay > dayCount)
                    {
                        continue;                           // tento měsíc už nemá více dnů
                    }
                    // Vypsaní čísla dne do tabulky
                    //  tc.HorizontalAlign = HorizontalAlign.Right;
                    // tc.VerticalAlign = VerticalAlign.Top;
                    // tc.Text = currentDay.ToString();


                    DayButton dayBut = new DayButton(
                        tc, currentDay, currentMonth, currentYear, usedPage, mPage);
                    tc.dayButton = dayBut;

                    // Nastavení stavu dne (volný, zabraný, kolize)
                    SetDayStatus(dayBut, currentDay, currentMonth, currentYear, takenDates);

                    dayButtons.Add(dayBut);
                    currentDay++;
                }
                ScheduleTable.Rows.Add(tr);
            }
        }