コード例 #1
0
        /* 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();

            }
        }
コード例 #2
0
        /* 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
            
        }