/* Konstruktor glavne forme koji prima parametar username
         * tj. parametar korisnika koji je trenutrno logiran 
         * na sustav da bi znali kome i gdje zapisivat sto je
         * prijavio , a sto odjavio 
         */
        public GlavnaForma(string User)
        {

            LinkedList<Obaveze> ListaOdjava = new LinkedList<Obaveze>();

            // pokrecemo funkciju auto koja traži obaveze koje su 
            // istekle i raspoređuje ih automatski
            auto = new AutoRaspored(user);
            auto.Automatsko();

            dat = new DatotekaObaveza();
            exe = Application.StartupPath;

            // Dodjeljujemo vrijednost protected stringu user 
            user = User;

            // U stringove spremamo poziciju programa plus ime slike
            string exepath2 = Application.StartupPath + @"\diigo.ico";
            string exepath1 = Application.StartupPath + @"\back.png";
            this.FormBorderStyle = FormBorderStyle.Fixed3D;

            // Pozivamo funkcija za postavljanje prozora, gumbova, labela, listboxa , menia, statusbara
            Prozor(exepath2);
            Gumbovi();
            Labele();
            ListBox();
            Meni();
            StatusBar();
            DodavanjeKontrola();

        }
        /* Ova funkcija vraca minute za određenog usera , 
         *uzima sve obaveze iz liste prijavljenih obaveza
         *i na temelju toga racuna ukupne preostale minute 
         */
        public int PromijeniMinute()
        {
            DatotekaOsoba dato = new DatotekaOsoba();
            ar = new AutoRaspored(user);

            string id = ar.PromjeniID2(user);
            string red = dat1.VratiPrijavljenje(user); // funkcija koja vraca sve obaveze iz liste prijavljenih
            string[] str = red.Split(';');
            int i = 0, suma = 0, prolaz = 0;

            // ne treba nam prazan string
            if (str[1] != "")
            {
                foreach (var item in str)
                {
                    if (i != 0)
                    {
                        string item2 = item.Replace("       ", " ");
                        string[] polje = item2.Split(' ');
                        int k = 0, p = 0;

                        // Sve dok je p manje od duljine polja uvecacamo p
                        // i kada je k == 4 to nam je broj koji tražimo 
                        while (p < polje.Length)
                        {
                            if (polje[p] != "")
                            {
                                if (k == 4)
                                {
                                    // konvertiramo ga u int i zbrajamo sa sumom
                                    suma += Convert.ToInt32(polje[p]);
                                    break;
                                }
                                ++k;
                            }
                            ++p;
                        }
                    }
                    ++i;
                }
            }

            // sum2 je Ukupno minuta pomnoženo sa opterecenjem usera trenutrnog
            double sum2 = BrojacMinuta() * dato.VratiOpt(user);
            
            //oduzmemo sumu2 i sumu i to je naš traženi broj minuta
            return Convert.ToInt32(sum2) - suma;
        }