Example #1
0
        private void btnObrisi_Click(object sender, EventArgs e)
        {
            int     broj    = cmbPredmeti.SelectedIndex;
            Predmet predmet = (Predmet)cmbPredmeti.SelectedItem;


            List <IzbornaLista> izborne_liste = IzbornaLista.listeSvihStudenata();

            //brisanje predmeta iz izborne liste, ako ima manje od 48 ESPB brise celu listu
            for (int i = 0; i < izborne_liste.Count; i++)
            {
                if (izborne_liste[i].imaPredmetUListi(predmet))
                {
                    if ((izborne_liste[i].Predmeti_studenta.Count) * 6 - predmet.ESPB1 >= 48)
                    {
                        int index = izborne_liste[i].redniBrojPredmetaUListi(predmet);
                        izborne_liste[i].Predmeti_studenta.RemoveAt(index);
                    }
                    else
                    {
                        izborne_liste.RemoveAt(i);
                    }
                }
            }
            IzbornaLista.azuriranjeBrisanjeIzbornihLista(izborne_liste);

            // brisanje predmeta
            predmeti.RemoveAt(broj);
            cmbPredmeti.Items.RemoveAt(broj);
            Predmet.azuriranjeBrisanjePredmeta(predmeti);
            lblPoruka.Text      = "Uspesno ste izbrisali predmet.";
            lblPoruka.ForeColor = Color.Blue;

            btnObrisi.Enabled = false;
        }
Example #2
0
        private void btnObrisi_Click(object sender, EventArgs e)
        {
            int      broj    = cmbStudenti.SelectedIndex;
            Studenti student = (Studenti)cmbStudenti.SelectedItem;

            List <IzbornaLista> izborne_liste = IzbornaLista.listeSvihStudenata();

            for (int i = 0; i < izborne_liste.Count; i++)
            {
                if (izborne_liste[i].Student.ToString().Equals(student.ToString()))
                {
                    izborne_liste.RemoveAt(i);
                    break;
                }
            }

            IzbornaLista.azuriranjeBrisanjeIzbornihLista(izborne_liste);


            studenti.Remove(student);
            cmbStudenti.Items.Remove(student);
            Studenti.azurirajBrisanjeStudenta(studenti);
            lblPoruka.Text      = "Uspesno ste izbrisali studenta.";
            lblPoruka.ForeColor = Color.Blue;
            btnObrisi.Enabled   = false;
        }
Example #3
0
        public static bool dodajIzbornuListu(IzbornaLista iLista)
        {
            BinaryFormatter bf = new BinaryFormatter();
            FileStream      fs;

            if (File.Exists("IzborneListe.bin"))
            {
                List <IzbornaLista> izborneListe = IzbornaLista.listeSvihStudenata();

                foreach (IzbornaLista p in izborneListe)
                {
                    if (p.Student.ToString().Equals(iLista.Student.ToString()))
                    {
                        return(false);
                    }
                }

                izborneListe.Add(iLista);


                fs = File.OpenWrite("IzborneListe.bin");
                bf.Serialize(fs, izborneListe);
                fs.Close();
            }
            else
            {
                fs = File.OpenWrite("IzborneListe.bin");
                bf.Serialize(fs, iLista);
                fs.Close();
            }
            return(true);
        }
Example #4
0
 private void BrisanjeIzborneListe_Load(object sender, EventArgs e)
 {
     sve_izborne_liste = IzbornaLista.listeSvihStudenata();
     foreach (IzbornaLista i in sve_izborne_liste)
     {
         cmbStudenti.Items.Add(i.Student);
     }
     btnObrisi.Enabled = false;
 }
        private void cmbStudenti_SelectedIndexChanged(object sender, EventArgs e)
        {
            broj_ESPB      = 0;
            lblPoruka.Text = "";
            student        = (Studenti)cmbStudenti.SelectedItem;
            lista_studenta = IzbornaLista.izbornaListaOdStudenta(student);

            //checklistbox kreiranje
            svi_predmeti_studenta.Items.Clear();
            svi_predmeti_studenta.Size     = new Size(400, 200);
            svi_predmeti_studenta.Location = new Point(50, 150);
            Controls.Add(svi_predmeti_studenta);

            //dodavanje predmeta u checklistbox iz izborne liste studenta
            foreach (Predmet p in lista_studenta.Predmeti_studenta)
            {
                string unos = p.Naziv_predmeta + ",  " + p.Smer + ",  " + p.Semestar;

                svi_predmeti_studenta.Items.Add(unos, true);

                if (p.Obavezan)
                {
                    svi_predmeti_studenta.SetItemCheckState(svi_predmeti_studenta.Items.Count - 1, CheckState.Indeterminate);
                }
            }

            List <Predmet> svi_predmeti = Predmet.sviPredmeti();

            //dodavanje predmeta u checklistbox ako su sa smera ili u chombobox ako nisu sa istog smera
            foreach (Predmet p in svi_predmeti)
            {
                if (!lista_studenta.imaPredmetUListi(p))
                {
                    if (p.Smer.ToString().Equals(student.Smer.ToString()))
                    {
                        svi_predmeti_studenta.Items.Add(p.Naziv_predmeta + ",  " + p.Smer + ",  " + p.Semestar);
                    }
                    else
                    {
                        cmbPredmeti.Items.Add(p);
                    }
                }
            }
            btnAzuriraj.Enabled = true;

            //Trenutni ESPB bodovi
            broj_ESPB = 0;
            for (int i = 0; i < svi_predmeti_studenta.Items.Count; i++)
            {
                if (svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Checked || svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Indeterminate)
                {
                    broj_ESPB += 6;
                }
            }
            lblESPB.Text = "ESPB: " + broj_ESPB;
        }
        private void AzuriranjeIzbornihLista_Load(object sender, EventArgs e)
        {
            List <IzbornaLista> izborneListe = IzbornaLista.listeSvihStudenata();

            // dodavanje samo studenata koji imaju izbornu listu
            foreach (IzbornaLista i in izborneListe)
            {
                cmbStudenti.Items.Add(i.Student);
            }
        }
        public DodajIzbornuListu()
        {
            InitializeComponent();
            broj     = 0;
            lista    = IzbornaLista.listeSvihStudenata();
            predmeti = Predmet.sviPredmeti();


            svi_predmeti_studenta            = new CheckedListBox();
            svi_predmeti_studenta.ItemCheck += Svi_predmeti_studenta_ItemCheck;
        }
        private void btnAzuriraj_Click(object sender, EventArgs e)
        {
            int broj = cmbStudenti.SelectedIndex;

            List <Predmet> predmeti = new List <Predmet>();

            //ubacuje u listu sve cekiranje predmete
            for (int i = 0; i < svi_predmeti_studenta.Items.Count; i++)
            {
                if (svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Checked || svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Indeterminate)
                {
                    Predmet predmet = Predmet.vretiPredmetPoNazivu(svi_predmeti_studenta.Items[i].ToString());
                    if (predmet != null)
                    {
                        predmeti.Add(predmet);
                    }
                }
            }


            if (broj_ESPB >= 48)
            {
                IzbornaLista nova_lista = new IzbornaLista(student, predmeti);

                if (lista_studenta.ToString().Equals(nova_lista.ToString()))
                {
                    lblPoruka.Text      = "Greška, nije nista promenjeno!";
                    lblPoruka.ForeColor = Color.Red;
                }
                else
                {
                    List <IzbornaLista> izborneListeIzDatoteke = IzbornaLista.listeSvihStudenata();
                    izborneListeIzDatoteke.RemoveAt(broj);

                    izborneListeIzDatoteke.Insert(broj, nova_lista);

                    IzbornaLista.azuriranjeBrisanjeIzbornihLista(izborneListeIzDatoteke);

                    lblPoruka.Text      = "Uspesno ste ažurirali izbornu listu!";
                    lblPoruka.ForeColor = Color.Blue;
                    cmbStudenti.ResetText();
                    svi_predmeti_studenta.Items.Clear();
                    btnAzuriraj.Enabled = false;
                    cmbPredmeti.Items.Clear();
                }
            }
            else
            {
                lblPoruka.Text      = "Greška, nemate dovoljno ESPB bodova. Potrebno je imati najmanje 48, a trenutno imate " + broj_ESPB + "!";
                lblPoruka.ForeColor = Color.Red;
            }
        }
        private void DodajIzbornuListu_Load(object sender, EventArgs e)
        {
            List <Studenti> studenti = Studenti.sviStudenti();

            // dodavanje samo studenata koji nemaju izbornu listu
            foreach (Studenti s in studenti)
            {
                if (IzbornaLista.izbornaListaOdStudenta(s) == null)
                {
                    cmbStudenti.Items.Add(s);
                }
            }
            btnDodaj.Enabled = false;
        }
Example #10
0
        private void btnObrisi_Click(object sender, EventArgs e)
        {
            int broj = cmbStudenti.SelectedIndex;

            IzbornaLista izborna_lista = IzbornaLista.izbornaListaOdStudenta(student);

            sve_izborne_liste.RemoveAt(broj);

            IzbornaLista.azuriranjeBrisanjeIzbornihLista(sve_izborne_liste);

            lblPoruka.Text      = "Uspešno ste izbrisali izbornu listu!";
            lblPoruka.ForeColor = Color.Blue;
            cmbStudenti.Items.RemoveAt(broj);
            btnObrisi.Enabled = false;
        }
Example #11
0
        public static IzbornaLista izbornaListaOdStudenta(Studenti student)
        {
            List <IzbornaLista> liste = IzbornaLista.listeSvihStudenata();

            if (student != null)
            {
                foreach (IzbornaLista i in liste)
                {
                    if (i.Student.ToString().Equals(student.ToString()))
                    {
                        return(i);
                    }
                }
            }

            return(null);
        }
        private void btnDodaj_Click(object sender, EventArgs e)
        {
            List <Predmet> predmeti = new List <Predmet>();

            lblPoruka.Text = "";

            //ubacuje u listu sve cekiranje predmete
            for (int i = 0; i < svi_predmeti_studenta.Items.Count; i++)
            {
                if (svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Checked || svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Indeterminate)
                {
                    Predmet predmet = Predmet.vretiPredmetPoNazivu(svi_predmeti_studenta.Items[i].ToString());
                    if (predmet != null)
                    {
                        predmeti.Add(predmet);
                    }
                }
            }


            if (broj >= 48)
            {
                IzbornaLista novaIzbornaLista = new IzbornaLista((Studenti)cmbStudenti.SelectedItem, predmeti);

                if (IzbornaLista.dodajIzbornuListu(novaIzbornaLista))
                {
                    lblPoruka.Text      = "Uspešno ste dodali izbornu listu";
                    lblPoruka.ForeColor = Color.Blue;
                    svi_predmeti_studenta.Items.Clear();
                    cmbStudenti.Items.RemoveAt(cmbStudenti.SelectedIndex);
                    btnDodaj.Enabled = false;
                    cmbPredmeti.Items.Clear();
                }
                else
                {
                    lblPoruka.Text      = "Došlo je do greške prilikom predaje izborne liste!";
                    lblPoruka.ForeColor = Color.Red;
                }
            }
            else
            {
                lblPoruka.Text      = "Greška, nemate dovoljno ESPB bodova. Potrebno je imati najmanje 48, a trenutno imate " + broj + "!";
                lblPoruka.ForeColor = Color.Red;
            }
        }
        private void prikazSortiraneListe(List <Predmet> predmeti_za_sortiranje)
        {
            IzbornaLista lista_studenta = IzbornaLista.izbornaListaOdStudenta(student);

            //dodavanje sortirane liste predmeta u checklistbox
            foreach (Predmet p in predmeti_za_sortiranje)
            {
                if (lista_studenta != null)
                {
                    if (lista_studenta.imaPredmetUListi(p))
                    {
                        svi_predmeti_studenta.Items.Add(p.Naziv_predmeta + ",  " + p.Smer + ",  " + p.Semestar, (p.Obavezan) ? CheckState.Indeterminate : CheckState.Checked);
                    }
                    else
                    {
                        svi_predmeti_studenta.Items.Add(p.Naziv_predmeta + ",  " + p.Smer + ",  " + p.Semestar, (p.Obavezan) ? CheckState.Indeterminate : CheckState.Unchecked);
                    }
                }
                else
                {
                    svi_predmeti_studenta.Items.Add(p.Naziv_predmeta + ",  " + p.Smer + ",  " + p.Semestar, (p.Obavezan) ? CheckState.Indeterminate : CheckState.Unchecked);
                }
            }


            //Trenutni ESPB bodovi
            broj_ESPB = 0;
            for (int i = 0; i < svi_predmeti_studenta.Items.Count; i++)
            {
                if (svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Checked || svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Indeterminate)
                {
                    broj_ESPB += 6;
                }
            }
            lblESPB.Text = "ESPB: " + broj_ESPB;
        }
Example #14
0
        private void btnAzuriraj_Click(object sender, EventArgs e)
        {
            int     broj    = cmbPredmeti.SelectedIndex;
            Predmet predmet = (Predmet)cmbPredmeti.SelectedItem;

            //kopija predmeta
            Predmet novi_predmet = new Predmet(predmeti[broj]);

            if (!txtNaziv.Text.Equals(""))
            {
                novi_predmet.Naziv_predmeta = txtNaziv.Text;
            }

            if (!cmbSmer.Text.Equals(""))
            {
                novi_predmet.Smer = (Smer)cmbSmer.SelectedItem;
            }

            if (!txtProfesor.Text.Equals(""))
            {
                novi_predmet.Profesor = txtProfesor.Text;
            }

            if (!txtESPB.Text.Equals(""))
            {
                int espb;
                if (Int32.TryParse(txtESPB.Text, out espb))
                {
                    novi_predmet.ESPB1 = espb;
                }
                else
                {
                    lblPorukaESPB.Text      = "Greska, pogresan format!";
                    lblPorukaESPB.ForeColor = Color.Red;
                }
            }

            if (rbDA.Checked)
            {
                novi_predmet.Obavezan = true;
            }
            if (rbNE.Checked)
            {
                novi_predmet.Obavezan = false;
            }

            if (!cmbSemestar.Text.Equals(""))
            {
                novi_predmet.Semestar = (int)cmbSemestar.SelectedItem;
            }

            if (predmet.ToString().Equals(novi_predmet.ToString()))
            {
                lblPoruka.Text      = "Nista niste promenili!";
                lblPoruka.ForeColor = Color.Red;
            }
            else
            {
                //azuriranje izbornih listi
                List <IzbornaLista> izborne_liste = IzbornaLista.listeSvihStudenata();

                for (int i = 0; i < izborne_liste.Count; i++)
                {
                    for (int j = 0; j < izborne_liste[i].Predmeti_studenta.Count; j++)
                    {
                        if (izborne_liste[i].Predmeti_studenta[j].ToString().Equals(predmet.ToString()))
                        {
                            izborne_liste[i].Predmeti_studenta[j] = novi_predmet;
                        }
                    }
                }
                IzbornaLista.azuriranjeBrisanjeIzbornihLista(izborne_liste);


                predmeti[broj] = novi_predmet;
                Predmet.azuriranjeBrisanjePredmeta(predmeti);
                lblPoruka.Text      = "Uspesno ste izmenili predmet";
                lblPoruka.ForeColor = Color.Blue;

                cmbPredmeti.Items.RemoveAt(broj);
                cmbPredmeti.Items.Insert(broj, novi_predmet);
                grpPodaci.Enabled   = false;
                btnAzuriraj.Enabled = false;

                txtESPB.ResetText();
                txtNaziv.ResetText();
                txtProfesor.ResetText();
                cmbSemestar.ResetText();
                cmbSmer.ResetText();
                cmbPredmeti.ResetText();
            }
        }
        private void KorisnikMeni_Load(object sender, EventArgs e)
        {
            lblPodaciStudenta.Text      = "Ime studenta: " + student.Ime_studenta + "\nPrezime: " + student.Prezime_studenta + "\nSmer: " + student.Smer.ToString();
            lblPodaciStudenta.ForeColor = Color.Blue;

            IzbornaLista   lista_studenta = IzbornaLista.izbornaListaOdStudenta(student);
            List <Predmet> svi_predmeti   = Predmet.sviPredmeti();

            predmeti_za_sortiranje = new List <Predmet>();

            if (lista_studenta != null)
            {
                //ako student ima izbornu listu
                //dodaje u checklistbox sve predmete iz izborne liste studenta
                foreach (Predmet p in lista_studenta.Predmeti_studenta)
                {
                    predmeti_za_sortiranje.Add(p);
                }


                //dodaje u checklistbox predmete sa smera ili u combobox predmete sa drugog smera
                foreach (Predmet p in svi_predmeti)
                {
                    if (!lista_studenta.imaPredmetUListi(p))
                    {
                        if (p.Smer.ToString().Equals(student.Smer.ToString()))
                        {
                            predmeti_za_sortiranje.Add(p);
                        }
                        else
                        {
                            cmbPredmeti.Items.Add(p);
                        }
                    }
                }
            }
            else
            {
                //ako student nema izbornu listu
                //ubacuje predmete sa smera u checklistbox, a ostale u combobox
                foreach (Predmet p in svi_predmeti)
                {
                    if (p.Smer.ToString().Equals(student.Smer.ToString()))
                    {
                        predmeti_za_sortiranje.Add(p);
                    }
                    else
                    {
                        cmbPredmeti.Items.Insert(cmbPredmeti.Items.Count, p);
                    }
                }
            }

            //kreiranje delegata i dodavanje funkcija
            delSortiranje deleg = new delSortiranje(sortirajPoSemestru);

            deleg += new delSortiranje(sortirajPoImenu);
            deleg += new delSortiranje(prikazSortiraneListe);

            //pozivanje delegata
            deleg(predmeti_za_sortiranje);
        }
Example #16
0
        private void btnAzuriraj_Click(object sender, EventArgs e)
        {
            int      broj         = cmbStudenti.SelectedIndex;
            Studenti student      = (Studenti)cmbStudenti.SelectedItem;
            Studenti novi_student = new Studenti(student);


            if (!txtIndex.Text.Equals(""))
            {
                novi_student.Index = txtIndex.Text;
            }

            if (!txtIme.Text.Equals(""))
            {
                novi_student.Ime_studenta = txtIme.Text;
            }

            if (!txtPrezime.Text.Equals(""))
            {
                novi_student.Prezime_studenta = txtPrezime.Text;
            }

            if (!txtKorisnickoIme.Text.Equals(""))
            {
                novi_student.Korisnicko_ime = txtKorisnickoIme.Text;
            }

            if (!txtPassword.Text.Equals(""))
            {
                novi_student.Password = txtPassword.Text;
            }

            if (!txtJMBG.Text.Equals(""))
            {
                foreach (char c in txtJMBG.Text)
                {
                    if (!Char.IsNumber(c))
                    {
                        lblPoruka.Text      = "Greska, JMBG pogresno unet!";
                        lblPoruka.ForeColor = Color.Red;
                        return;
                    }
                }
                novi_student.JMBG1 = txtJMBG.Text;
            }


            DateTime pom2;
            bool     uspesno = DateTime.TryParse(dtDatumRodjenja.Text, out pom2);

            if (uspesno)
            {
                novi_student.Datum_rodjenja = pom2;
            }

            if (!txtTelefon.Text.Equals(""))
            {
                foreach (char c in txtTelefon.Text)
                {
                    if (!Char.IsNumber(c))
                    {
                        lblPoruka.Text      = "Greska, telefon pogresno unet!";
                        lblPoruka.ForeColor = Color.Red;

                        return;
                    }
                }
                novi_student.Telefon = txtTelefon.Text;
            }



            if (!student.Smer.Equals(cmbSmer.SelectedItem))
            {
                List <Smer> smerovi = Smer.sviSmerovi();
                novi_student.Smer = smerovi[cmbSmer.SelectedIndex];
            }


            if (studenti[broj].ToString().Equals(novi_student.ToString()))
            {
                lblPoruka.Text      = "Nista niste promenili!";
                lblPoruka.ForeColor = Color.Red;
            }
            else
            {
                List <IzbornaLista> izborne_liste = IzbornaLista.listeSvihStudenata();

                for (int i = 0; i < izborne_liste.Count; i++)
                {
                    if (izborne_liste[i].Student.ToString().Equals(student.ToString()))
                    {
                        izborne_liste[i].Student = novi_student;
                        break;
                    }
                }
                IzbornaLista.azuriranjeBrisanjeIzbornihLista(izborne_liste);

                studenti[broj] = novi_student;
                Studenti.azurirajBrisanjeStudenta(studenti);
                lblPoruka.Text      = "Uspesno ste izmenili studenta";
                lblPoruka.ForeColor = Color.Blue;
                cmbStudenti.Items.RemoveAt(broj);
                cmbStudenti.Items.Insert(broj, novi_student);
                gpPodaci.Enabled    = false;
                btnAzuriraj.Enabled = false;

                txtIme.ResetText();
                txtPrezime.ResetText();
                txtJMBG.ResetText();
                txtKorisnickoIme.ResetText();
                txtPassword.ResetText();
                txtTelefon.ResetText();
                txtJMBG.ResetText();
                txtIndex.ResetText();
                cmbSmer.ResetText();
                cmbStudenti.ResetText();
                dtDatumRodjenja.ResetText();
            }
        }
        private void btnIzmeni_Click(object sender, EventArgs e)
        {
            List <IzbornaLista> izborneListeIzDatoteke = IzbornaLista.listeSvihStudenata();
            IzbornaLista        lista_studenta         = IzbornaLista.izbornaListaOdStudenta(student);

            int broj = 0;

            //redni broj izborne liste
            for (int i = 0; i < izborneListeIzDatoteke.Count; i++)
            {
                if (izborneListeIzDatoteke[i].ToString().Equals(lista_studenta.ToString()))
                {
                    broj = i;
                    break;
                }
            }

            //ubacuje u listu sve cekiranje predmete
            List <Predmet> predmeti = new List <Predmet>();

            for (int i = 0; i < svi_predmeti_studenta.Items.Count; i++)
            {
                if (svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Checked || svi_predmeti_studenta.GetItemCheckState(i) == CheckState.Indeterminate)
                {
                    Predmet predmet = Predmet.vretiPredmetPoNazivu(svi_predmeti_studenta.Items[i].ToString());
                    if (predmet != null)
                    {
                        predmeti.Add(predmet);
                    }
                }
            }


            if (broj_ESPB >= 48)
            {
                IzbornaLista nova_lista = new IzbornaLista(student, predmeti);

                if (lista_studenta == null)
                {
                    if (IzbornaLista.dodajIzbornuListu(nova_lista))
                    {
                        lblPoruka.Text      = "Uspešno ste dodali izbornu listu";
                        lblPoruka.ForeColor = Color.Blue;
                        svi_predmeti_studenta.Items.Clear();
                        btnIzmeni.Enabled = false;
                        cmbPredmeti.Items.Clear();
                        logovanje.Show();
                        this.Close();
                        return;
                    }
                    else
                    {
                        lblPoruka.Text      = "Došlo je do greške prilikom predaje izborne liste!";
                        lblPoruka.ForeColor = Color.Red;
                        logovanje.Show();
                        this.Close();
                        return;
                    }
                }

                if (lista_studenta.ToString().Equals(nova_lista.ToString()))
                {
                    lblPoruka.Text      = "Greška, nije nista promenjeno!";
                    lblPoruka.ForeColor = Color.Red;
                }
                else
                {
                    izborneListeIzDatoteke.RemoveAt(broj);

                    lista_studenta.Predmeti_studenta = predmeti;
                    izborneListeIzDatoteke.Insert(broj, lista_studenta);

                    IzbornaLista.azuriranjeBrisanjeIzbornihLista(izborneListeIzDatoteke);

                    lblPoruka.Text      = "Uspešno ste ažurirali izbornu listu!";
                    lblPoruka.ForeColor = Color.Blue;

                    logovanje.Show();
                    this.Close();
                }
            }
            else
            {
                lblPoruka.Text      = "Greška, nemate dovoljno ESPB bodova. Potrebno je imati najmanje 48, a trenutno imate " + broj_ESPB + "!";
                lblPoruka.ForeColor = Color.Red;
            }
        }
Example #18
0
        private void cmbSmerovi_SelectedIndexChanged(object sender, EventArgs e)
        {
            label2.ResetText();

            Smer                smer          = (Smer)cmbSmerovi.SelectedItem;
            List <Predmet>      predmeti      = Predmet.predmetiSaSmera(smer);
            List <IzbornaLista> izborne_liste = IzbornaLista.listeSvihStudenata();

            ukupan_broj = 0;
            pocetak     = 0;
            kraj        = 0F;
            int y_pomeraj = 0;

            lblPoruka.Visible = false;


            Graphics g = this.CreateGraphics();

            this.Height = 400;

            //brisanje starih labela
            foreach (Label l in sve_labele)
            {
                Controls.Remove(l);
            }
            sve_labele.Clear();

            // ukupan broj studenata na svim predmetima sa odabranog smera
            foreach (Predmet p in predmeti)
            {
                foreach (IzbornaLista lista in izborne_liste)
                {
                    if (lista.imaPredmetUListi(p))
                    {
                        ukupan_broj++;
                    }
                }
            }


            //ako nema studenta na predmetima sa smera
            if (ukupan_broj == 0)
            {
                g.FillEllipse(Brushes.Silver, r);
                g.DrawEllipse(Pens.Black, r);

                lblPoruka.Visible = true;
            }



            foreach (Predmet p in predmeti)
            {
                //broj studenata
                brojac = 0;

                foreach (IzbornaLista lista in izborne_liste)
                {
                    if (lista.imaPredmetUListi(p))
                    {
                        brojac++;
                    }
                }



                if (brojac > 0)
                {
                    pocetak += kraj;
                    kraj     = (360 * brojac) / (float)ukupan_broj;

                    SolidBrush sb = new SolidBrush(Color.FromArgb(slucajni.Next(0, 256), slucajni.Next(0, 256), slucajni.Next(0, 256)));

                    g.DrawEllipse(Pens.Black, r);
                    g.FillPie(sb, r, pocetak, kraj);


                    //dodavanje labela sa predmetima
                    Label lbl = new Label();
                    sve_labele.Add(lbl);
                    lbl.Text     += p.Naziv_predmeta + ",  Broj studenata:" + brojac + ",  Procenat: " + string.Format("{0:N1}%", (kraj * 100) / 360) + "\n";
                    lbl.BackColor = sb.Color;
                    lbl.ForeColor = Color.WhiteSmoke;
                    lbl.Font      = new Font("Arial", 8, FontStyle.Bold);
                    lbl.Location  = new Point(350, (50 + y_pomeraj));
                    lbl.Size      = new Size(450, 20);
                    Controls.Add(lbl);
                    y_pomeraj += 35;
                }
            }

            //visina prozora
            if ((y_pomeraj + 100) > this.Height)
            {
                this.Height = y_pomeraj + 100;
            }
            else
            {
                this.Height = 400;
            }


            g.Dispose();
        }