예제 #1
0
        /* 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;
        }
예제 #2
0
        /* Ova funkcija vraća broj minuta s obzirom na
         * ID . Znači ne mora biti trenutni user vec
         * samo posaljemo id bilo kojeg usera 
         */
        public int IDMinute(string ID)
        {
            // sve je vise manje isto osim sto saljemo ID umjesto
            // username kao u prethodnoj funkciji
            DatotekaOsoba dato = new DatotekaOsoba();
            string red = dat1.VratiPrijavljenje(ID);
            string[] str = red.Split(';');
            int i = 0, suma = 0, prolaz = 0;

            if (File.Exists("obrisano.txt"))
            {
                prolaz = 1;
            }

            if (prolaz == 1)
            {
                string[] polje = File.ReadAllLines(put + @"\minute.txt");

                foreach (var item in polje)
                {
                    string[] polje2 = item.Split(';');

                    if (polje2[0] == ID)
                    {
                        return Convert.ToInt32(polje2[1]);
                    }

                }
            }

            if (str[1] != "")
            {
                foreach (var item in str)
                {
                    if (i != 0)
                    {
                        string[] polje = item.Split(' ');
                        int k = 0, p = 0;
                        while (p < polje.Length)
                        {
                            if (polje[p] != "")
                            {
                                if (k == 4)
                                {
                                    suma += Convert.ToInt32(polje[p]);
                                    break;
                                }
                                ++k;
                            }
                            ++p;
                        }
                    }
                    ++i;
                }
            }

            // saljemo ID umjesto user i vracamo opterecenje korinika
            // bilo kojeg
            double sum2 = BrojacMinuta() * dato.VratiOpt(ID);
            return Convert.ToInt32(sum2) - suma;
        }
예제 #3
0
        // Konstruktor koji se prvi izvodi nakon instanciranja 
        // klase . Tu definiramo početni izgled našeg sučelja
        // dodajemo slike, poziciju gumbova itd. 
        public Login()
        {
            path = Application.StartupPath;
            dat = new DatotekaOsoba();

            Color MyColor = Color.FromArgb(0, Color.Green); // instacirali smo klasu Color i postavili na prozirno da bi stavili kao background za Labelu 1 i 2 
            
            // u string exepath1 i 2 stavljamo poziciju nase slike .
            // Slika mora biti u istom folderu kao i sama aplikacija. 
            string exepath1 = Application.StartupPath + @"\login.jpg";
            string exepath2 = Application.StartupPath + @"\diigo.ico";

            // Postavljamo vrijednosti za prozor login
            this.Text = "Prijava na sustav";
            this.FormBorderStyle = FormBorderStyle.Fixed3D;
            this.Width = 500;
            this.Height = 250;
            this.Location = new Point(Screen.GetWorkingArea(this).Height / 2, Screen.GetWorkingArea(this).Width / 5); // pocetna pozicija prozora
            this.ForeColor = Color.Black; 
            this.BackgroundImage = Image.FromFile(exepath1); // ucitavamo sliku
            this.Icon = new Icon(exepath2);
            this.MaximizeBox = false;   // ne može se povecati (maximizirati)
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;

            // Postavljamo vrijednosti gumba Cancel
            BtnCancel.Text = "Zatvori";
            BtnCancel.Width = 85;
            BtnCancel.Height = 28;
            BtnCancel.Location = new Point(355, 160);  // pozicija u prozoru , moramo instancirati klasu Point koja prima x,y kordinate
            BtnCancel.Click += new EventHandler(this.BtnCancelm);   // U slucaju pritiska na gumb poziva se metoda koja određuje sto ce se napraviti
            BtnCancel.TabIndex = 3; // Kada pritisnemo Tab tri puta onda dolazimo do ove tipke

            // Postvaljamo vrijednosti gumba OK ostalo slicno kao i kod Cancel samo se poziva druga metoda kod pritiskanja
            BtnOK.Text = "OK";
            BtnOK.Width = 85;
            BtnOK.Height = 28;
            BtnOK.Location = new Point(180, 160);
            BtnOK.Click += new EventHandler(this.BtnOKm);
            BtnOK.TabIndex = 2;

            BtnReg.Text = "Registracija";
            BtnReg.Width = 85;
            BtnReg.Height = 28;
            BtnReg.Location = new Point(267, 160);
            BtnReg.Click += new EventHandler(this.Btnreg);
            BtnReg.TabIndex = 5;

            // Labela koja nam služi za ispisivanje texta
            Lab1.Text = "Korisničko ime";
            Lab1.Width = 130;
            Lab1.Location = new Point(150, 60);
            Lab1.BackColor = MyColor; // pridružili smo prozirnu boju da bi slika iza bila vidljiva
            Lab1.Font = new Font("Ariel", 13, FontStyle.Regular); // instanciramo Font koji se može preopterećivat, u ovom slucaju smo mu poslali tri vrijednosti vrsta, velicina, stil

            // Labela koja nam služi za ispisivanje texta
            Lab2.Text = "Lozinka";
            Lab2.Location = new Point(150, 100);
            Lab2.BackColor = MyColor; 
            Lab2.Font = new Font("Ariel", 13, FontStyle.Regular);

            Lab3.Location = new Point(200, 25);
            Lab3.Width = 150;
            Lab3.BackColor = MyColor;
            Lab3.Font = new Font("Ariel", 11, FontStyle.Regular);

            // postavljamo vrijednosti TexBoxa
            Tex1.Location = new Point(288, 62);
            Tex1.Width = 150;
            Tex1.Font = new Font("Ariel", 11, FontStyle.Regular);
            Tex1.TabIndex = 0;

            // postavljamo vrijednosti TexBoxa
            Tex2.Location = new Point(288, 102);
            Tex2.Width = 150;
            Tex2.PasswordChar = '°';  // Ovo nam služi da bi prikrili slova passworda kada ih upisujemo znakom '°'
            Tex2.Font = new Font("Ariel", 11, FontStyle.Regular);
            Tex2.TabIndex = 1;

            // sve kontrole za koje smo definirali vrijednost , dodajemo na prozor našeg objekta
            this.Controls.Add(Lab3);
            this.Controls.Add(BtnReg);
            this.Controls.Add(Tex2);
            this.Controls.Add(Tex1);
            this.Controls.Add(Lab2);
            this.Controls.Add(Lab1);
            this.Controls.Add(BtnCancel);
            this.Controls.Add(BtnOK);

        }