Beispiel #1
0
 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();
        }
Beispiel #4
0
        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");
            }
        }
Beispiel #5
0
        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();
        }
Beispiel #8
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 + "";
        }
Beispiel #9
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 + "";
            }
        }