Exemplo n.º 1
0
        private void pole_Leave(object sender, EventArgs e)
        {
            double pocetHodin = 0;
            int    pocetDnu   = 0;

            for (int j = 3; j < karta.getPocetDnuVMesici() + 3; j++)
            {
                int    row     = table.GetPositionFromControl(((TextBox)sender)).Row;
                String hodnota = table.GetControlFromPosition(j, row).Text;



                int           index     = row % 2 != 0 ? row / 2 : (row - 1) / 2;
                OsobniTabulka o         = main.Osoby[karta.indexyOsob[index]].osobniTabulka;
                int           dayOfWeek = (int)new DateTime(karta.getIntRok(), karta.getIntMesic(), j - 2).DayOfWeek;
                dayOfWeek = dayOfWeek == 0 ? 7 : dayOfWeek;


                // vypocet počtu dnů pro pracovní dobu a přesčasy
                double pocethod = 0;
                if (row % 2 == 0)
                {
                    pocetDnu = hodnota.Equals("") ? pocetDnu : pocetDnu + 1;
                }
                else if (hodnota.Equals(""))
                {
                }
                else if (!o.Obsahuje(hodnota))
                {
                    if (!o.Obsahuje(hodnota + "/" + dayOfWeek))
                    {
                        MessageBox.Show("Tato hodnota není obsažena v osobní tabulce Osoby");
                        ((TextBox)sender).Text = "";
                        pocetDnu--;
                    }
                    else
                    {
                        pocethod = Double.Parse(o.Tabulka[o.HashList.IndexOf(hodnota + "/" + dayOfWeek)][0]);
                        pocetDnu = pocethod == 0 ? pocetDnu : pocetDnu + 1;
                    }
                }
                else
                {
                    pocethod = Double.Parse(o.Tabulka[o.HashList.IndexOf(hodnota.ToUpper())][0]);
                    pocetDnu = pocethod == 0 ? pocetDnu : pocetDnu + 1;
                }


                // vypocet počtu hodin pro pracovní dobu a přesčasy
                if (row % 2 == 0)
                {
                    try
                    {
                        pocetHodin = hodnota.Equals("") ? pocetHodin : pocetHodin + Double.Parse(hodnota);
                    }
                    catch {
                        MessageBox.Show("Zadávejte pouze číselné hodnoty");
                    }
                }
                else if (hodnota.Equals(""))
                {
                }
                else if (!o.Obsahuje(hodnota))
                {
                    if (!o.Obsahuje(hodnota + "/" + dayOfWeek))
                    {
                        MessageBox.Show("Tato hodnota není obsažena v osobní tabulce Osoby");
                        ((TextBox)sender).Text = "";
                        pocetDnu--;
                    }
                    else
                    {
                        pocetHodin = pocetHodin + Double.Parse(o.Tabulka[o.HashList.IndexOf(hodnota + "/" + dayOfWeek)][0]);
                    }
                }
                else
                {
                    pocetHodin = pocetHodin + Double.Parse(o.Tabulka[o.HashList.IndexOf(hodnota.ToUpper())][0]);
                }
            }

            table.GetControlFromPosition(2, table.GetPositionFromControl(((TextBox)sender)).Row).Text = pocetHodin + "";
            table.GetControlFromPosition(table.ColumnCount - 1, table.GetPositionFromControl(((TextBox)sender)).Row).Text = pocetDnu + "";
        }
Exemplo n.º 2
0
        private void UpdateCountPole()
        {
            for (int i = 1; i < table.RowCount - 1; i++)
            {
                double pocetHodin = 0;
                int    pocetDnu   = 0;
                for (int j = 3; j < karta.getPocetDnuVMesici() + 3; j++)
                {
                    String hodnota = table.GetControlFromPosition(j, i).Text;



                    int           index     = i % 2 != 0 ? i / 2 : (i - 1) / 2;
                    OsobniTabulka o         = main.Osoby[karta.indexyOsob[index]].osobniTabulka;
                    int           dayOfWeek = (int)new DateTime(karta.getIntRok(), karta.getIntMesic(), j - 2).DayOfWeek;
                    dayOfWeek = dayOfWeek == 0 ? 7 : dayOfWeek;

                    // Pocet odpracovanych dni
                    double pocethod = 0;
                    if (i % 2 == 0)
                    {
                        pocetDnu = hodnota.Equals("") ? pocetDnu : pocetDnu + 1;
                    }
                    else if (hodnota.Equals(""))
                    {
                    }
                    else if (!o.Obsahuje(hodnota))
                    {
                        if (!o.Obsahuje(hodnota + "/" + dayOfWeek))
                        {
                            MessageBox.Show("Tato hodnota není obsažena v osobní tabulce Osoby");
                            pocetDnu--;
                        }
                        else
                        {
                            pocethod = Double.Parse(o.Tabulka[o.HashList.IndexOf(hodnota + "/" + dayOfWeek)][0]);
                            pocetDnu = pocethod == 0 ? pocetDnu : pocetDnu + 1;
                        }
                    }
                    else
                    {
                        pocethod = Double.Parse(o.Tabulka[o.HashList.IndexOf(hodnota.ToUpper())][0]);
                        pocetDnu = pocethod == 0 ? pocetDnu : pocetDnu + 1;
                    }

                    //NAstaveni poctu hodin odpracovanych

                    if (i % 2 == 0)
                    {
                        try
                        {
                            pocetHodin = hodnota.Equals("") ? pocetHodin : pocetHodin + Double.Parse(hodnota);
                        }
                        catch
                        {
                            MessageBox.Show("Zadávejte pouze číselné hodnoty");
                        }
                    }
                    else if (hodnota.Equals(""))
                    {
                    }
                    else if (!o.Obsahuje(hodnota))
                    {
                        if (!o.Obsahuje(hodnota + "/" + dayOfWeek))
                        {
                            MessageBox.Show("Tato hodnota není obsažena v osobní tabulce Osoby");
                            pocetDnu--;
                        }
                        else
                        {
                            pocetHodin = pocetHodin + Double.Parse(o.Tabulka[o.HashList.IndexOf(hodnota + "/" + dayOfWeek)][0]);
                        }
                    }
                    else
                    {
                        pocetHodin = pocetHodin + Double.Parse(o.Tabulka[o.HashList.IndexOf(hodnota.ToUpper())][0]);
                    }
                }

                table.GetControlFromPosition(2, i).Text = pocetHodin + "";
                table.GetControlFromPosition(table.ColumnCount - 1, i).Text = pocetDnu + "";
            }
        }