/* Metoda koja se poziva kada je kliknut gumb Odjava */ private void btn2_Clicked(Object Sender, EventArgs e) { if (lb2.SelectedItem != null) { RegulatorMinuta reg = new RegulatorMinuta(user); LinkedList<string> listaIstek = new LinkedList<string>(); // spremamo istekle obaveze listaIstek = auto.ProvjeraRoka(); bool vrijednost = true; foreach (var item in listaIstek) { string[] item2 = item.Split(' '); // Ako postoji neka obaveza u listi isteklih if (item2[1].Equals(VratiID(lb2.SelectedItem.ToString()))) { // Prikazujemo poruku , pokrecemo automatsko funkciju te brisemo iz liste prijavljenih MessageBox.Show("Za izabranu obavezu je rok istekao", "Informacija", MessageBoxButtons.OK, MessageBoxIcon.Information); vrijednost = false; auto.Automatsko(); int index2 = lb2.SelectedIndex; lb2.Items.RemoveAt(index2); lb2.Refresh(); break; } } // odjavimo selektiranu obavezu DatotekaPrijave odjava = new DatotekaPrijave(user, lb2.SelectedItem, false); // Ako je označena neka obaveza u Listboxu2 onda se ona prebacuje u ListBox1 // i miče iz trenutnog listboxa if (lb2.SelectedItem != null && vrijednost) { int index2 = lb2.SelectedIndex; lb1.Items.Add(lb2.SelectedItem); lb2.Items.RemoveAt(index2); } else { //selektiranu obavezu dodamo nazad u listu prijavljenih ako je doslo do greske DatotekaPrijave prijava = new DatotekaPrijave(user, lb2.SelectedItem, true); } // osvježavamo minute lab6.Text = reg.PromijeniMinute().ToString(); lab6.Refresh(); } }
/* Metoda koje se poziva u trenutku kada * je kliknut gumb Prijava */ private void btn1_Clicked(Object Sender, EventArgs e) { if (lb1.SelectedItem != null) { // Instanciramo klase RegulatorMinuta koji nam broji preostale minute // za obaveze i usere RegulatorMinuta reg = new RegulatorMinuta(user); LinkedList<string> listaIstek = new LinkedList<string>(); // Lista koja sadrži obaveze koje su istekle // ova vrijednost je postavljena na true , a mjenja se u slučaju nemogućnosti prijavljivanja obaveze bool vrijednost = true; listaIstek = auto.ProvjeraRoka(); // Pozivamo funkciju u koju spremamo istekle obaveze // definiramo vrijednost vrijeme koja nam kaže da li je selektirana obaveza u vremenskom konfliktu // sa nekom drugom obavezom koja je vec prijavljena bool vrijeme = reg.IstoVrijeme(lb1.SelectedItem.ToString()); // Za svaki item u listi isteklih obaveza provjeravamo da li se poklapa sa selektiranom , tj. označenom obavezom foreach (var item in listaIstek) { string[] item2 = item.Split(' '); // Ako se ID obaveza poklapaju , znači da je rok istekao if (item2[1].Equals(VratiID(lb1.SelectedItem.ToString()))) { // Ispisujemo poruku MessageBox.Show("Za izabranu obavezu je rok istekao - odaberite opciju Auto Obaveze u Alatima", "Informacija", MessageBoxButtons.OK, MessageBoxIcon.Information); // Pokrecemo funkciju automatsko koja raspoređuje tu obavezu automatski auto.Automatsko(); int index1 = lb1.SelectedIndex; lb1.Items.RemoveAt(index1); // mičemo obavezu iz ponude za prijavu posto smo je dodjelili svima lb1.Refresh(); vrijednost = false; // vrijednost je false zato sto se dogodila greska break; } } int broj = reg.PromijeniMinute(); if (vrijednost) { DatotekaPrijave prijava = new DatotekaPrijave(user, lb1.SelectedItem, true); // u broj stavljamo preostale minute trenutnog usera broj = reg.PromijeniMinute(); } if (broj < 0) { // Ako su minute korisnika manje od nula onda je izabrao previse obaveza DatotekaPrijave odjava = new DatotekaPrijave(user, lb1.SelectedItem, false); MessageBox.Show("Izabrali ste previse obaveza", "Upozorenje", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { // Ako je izabrana neka obaveza i vrijednost je true onda se provjerava // da li je vrijeme isto kao u nekoj od prijavljenih obaveza , ako je i to // uredu onda se dodaje obaveza u listu prijavljenih // i miče iz liste obaveza za prijavu if (lb1.SelectedItem != null && vrijednost) { if (vrijeme) { int index1 = lb1.SelectedIndex; lb2.Items.Add(lb1.SelectedItem); lb1.Items.RemoveAt(index1); } else { // U slucaju da je vrijeme false tj da postoji neka obaveza sa istim vremenom // onda se brise prijava iz liste prijavljenih // i ispisuje poruka DatotekaPrijave odjava = new DatotekaPrijave(user, lb1.SelectedItem, false); MessageBox.Show("Vec imate prijavljenu obavezu u tom periodu", "Informacija", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } // labela za minute se promijeni i refresha lab6.Text = reg.PromijeniMinute().ToString(); lab6.Refresh(); } // Ako je označena neka obaveza u Listboxu1 onda se ona prebacuje u // Listbox2 i miče iz trenutnog listboca }