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 + ""; }
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 + ""; } }