/* 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; }
/* 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; }
// 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); }