public Osoba() { dochazka = new List <List <string> >(); karty = new List <int>(); osobniTabulka = new OsobniTabulka(); osobniTabulka.Reset(); }
/** * Konstruktor inicializuje prvky ve formu nastaví popisek zda se jedná o přidání či uprávu osoby to je Vstupní String p * nastaví globální proměné a načte data do formu z osoby **/ public Editace_osob(String p, Main main) { InitializeComponent(); status = p; tabulka.RowStyles[0] = (new RowStyle(SizeType.Absolute, 20F)); this.osoba = new Osoba(); this.osobniTabulka = osoba.osobniTabulka; this.main = main; if (p.Equals("NEW")) { labelNadpis.Text = "Přidat osobu"; } else { labelNadpis.Text = "Upravit osobu"; } textBoxJmeno.Text = osoba.jmeno; textBoxPrijmeni.Text = osoba.prijmeni; textBoxOC.Text = osoba.osobnicislo; nactiTabulku(); int vertScrollWidth = SystemInformation.VerticalScrollBarWidth; tabulka.Padding = new Padding(0, 0, vertScrollWidth, 0); }
/** * Metoda uloží data z textboxů do instance konkrétní osoby a zavře formulář **/ private void buttonUlozit_Click(object sender, EventArgs e) { osoba.jmeno = textBoxJmeno.Text.Trim(); osoba.prijmeni = textBoxPrijmeni.Text.Trim(); osoba.osobnicislo = textBoxOC.Text.Trim(); OsobniTabulka ostab = new OsobniTabulka(); for (int j = 2; j <= tabulka.RowCount; j++) { int prazdnyRadek = 0; for (int i = 0; i < tabulka.ColumnCount; i++) { Control c = tabulka.GetControlFromPosition(i, j); String s = c.Text.Trim(); prazdnyRadek = s.Equals("") ? prazdnyRadek : prazdnyRadek + 1; } if (prazdnyRadek != 0) { ostab.setLine(tabulka.GetControlFromPosition(0, j).Text, tabulka.GetControlFromPosition(1, j).Text, tabulka.GetControlFromPosition(2, j).Text, tabulka.GetControlFromPosition(3, j).Text, tabulka.GetControlFromPosition(4, j).Text, tabulka.GetControlFromPosition(5, j).Text); } } osoba.osobniTabulka = ostab; ukoncit = false; if (status.Trim().ToLower().Equals("new")) { main.Osoby.Add(osoba); } Close(); }
public Main() { InitializeComponent(); random = new Random(); UniversalniTabulka = new OsobniTabulka(); Osoby = new List <Osoba>(); poleKaret = new List <Karta>(); UniversalniTabulka.Reset(); pathSave = path + "\\DIMOS\\Save\\Data.txt"; pathZaloha = path + "\\DIMOS\\Save\\DataZaloha.txt"; if (!Directory.Exists(path + "\\DIMOS")) { Directory.CreateDirectory(path + "\\DIMOS"); } }
public Osoba(List <int> karty, List <String> dochazky, String jmeno, String prijmeni, String osobnicislo) { this.dochazka = new List <List <string> >(); this.karty = new List <int>(); this.osobniTabulka = new OsobniTabulka(); this.jmeno = jmeno; this.prijmeni = prijmeni; this.osobnicislo = osobnicislo; this.karty = karty; for (int i = 0; i < dochazky.Count; i++) { dochazka.Add(dochazky[i].Trim().Split('_').ToList()); } }
/** * Metoda vykreslí tabulku z Osobní tabulky z dané osoby **/ private void nactiTabulku() { if (tabulka.RowCount != 1) { tabulka.Controls.Clear(); } tabulka.RowCount = 1; OsobniTabulka t = osobniTabulka; tabulka.Controls.Clear(); for (int i = 0; i < t.HashList.Count; i++) { //RowStyle temp = tabulka.RowStyles[tabulka.RowCount - 1]; tabulka.RowCount++; //tabulka.RowStyles.Add(new RowStyle(temp.SizeType, temp.Height)); int index = tabulka.RowCount == 2 ? 4 : (tabulka.RowCount - 2) * 5 + 4; tabulka.Controls.Add(new System.Windows.Forms.TextBox() { Text = t.HashList[i], ForeColor = System.Drawing.Color.White, TextAlign = System.Windows.Forms.HorizontalAlignment.Center, Font = new System.Drawing.Font("Century Gothic", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))), Size = new System.Drawing.Size(68, 20), TabIndex = index++, BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(67)))), ((int)(((byte)(73))))) }, 0, tabulka.RowCount); tabulka.Controls.Add(new System.Windows.Forms.TextBox() { Text = t.Tabulka[i][0], TextAlign = System.Windows.Forms.HorizontalAlignment.Center, Font = new System.Drawing.Font("Century Gothic", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))), Size = new System.Drawing.Size(68, 20), TabIndex = index++ }, 1, tabulka.RowCount); tabulka.Controls.Add(new System.Windows.Forms.TextBox() { Text = t.Tabulka[i][1], TextAlign = System.Windows.Forms.HorizontalAlignment.Center, Font = new System.Drawing.Font("Century Gothic", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))), Size = new System.Drawing.Size(68, 20), TabIndex = index++ }, 2, tabulka.RowCount); tabulka.Controls.Add(new System.Windows.Forms.TextBox() { Text = t.Tabulka[i][2], TextAlign = System.Windows.Forms.HorizontalAlignment.Center, Font = new System.Drawing.Font("Century Gothic", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))), Size = new System.Drawing.Size(68, 20), TabIndex = index++ }, 3, tabulka.RowCount); tabulka.Controls.Add(new System.Windows.Forms.TextBox() { Text = t.Tabulka[i][3], TextAlign = System.Windows.Forms.HorizontalAlignment.Center, Font = new System.Drawing.Font("Century Gothic", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))), Size = new System.Drawing.Size(68, 20), TabIndex = index++ }, 4, tabulka.RowCount); tabulka.Controls.Add(new System.Windows.Forms.TextBox() { Text = t.Tabulka[i][4], TextAlign = System.Windows.Forms.HorizontalAlignment.Center, Font = new System.Drawing.Font("Century Gothic", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))), Size = new System.Drawing.Size(68, 20), TabIndex = index++ }, 5, tabulka.RowCount); } }
/** * Konstruktor inicializuje prvky ve formu nastaví popisek zda se jedná o přidání či uprávu osoby to je Vstupní String p * nastaví globální proměné a načte data do formu z osoby **/ public Editace_osob(String p, Osoba osoba, Seznam seznam) { InitializeComponent(); status = p; tabulka.RowStyles[0] = (new RowStyle(SizeType.Absolute, 20F)); this.seznam = seznam; this.osoba = osoba; this.osobniTabulka = osoba.osobniTabulka; if (p.Equals("NEW")) { labelNadpis.Text = "Přidat osobu"; } else { labelNadpis.Text = "Upravit osobu"; } textBoxJmeno.Text = osoba.jmeno; textBoxPrijmeni.Text = osoba.prijmeni; textBoxOC.Text = osoba.osobnicislo; nactiTabulku(); }
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 + ""; } }