Exemplo n.º 1
0
        private void btnDodajPolozeni_Click(object sender, EventArgs e)
        {
            try
            {
                Predmeti odabraniPredmet = cmbPredmeti.SelectedItem as Predmeti;
                ProvjeriDaLiPredmetPostoji(odabraniPredmet);
                KorisniciPredmeti polozeniPredmet = new KorisniciPredmeti();
                //polozeniPredmet.Id = korisnik.Polozeni.Count + 1;
                polozeniPredmet.Predmet = odabraniPredmet;
                polozeniPredmet.Ocjena  = int.Parse(txtOcjena.Text);
                polozeniPredmet.Datum   = dtpDatumPolaganja.Value.ToString("dd.MM.yyyy");
                korisnik.Uspjeh.Add(polozeniPredmet);
                konekcijaNaBazu.SaveChanges();
                UcitajPolozenePredmete();


                //PolozeniPredmet polozeniPredmet = new PolozeniPredmet();
                //polozeniPredmet.Id = korisnik.Polozeni.Count + 1;
                //polozeniPredmet.Predmet = cmbPredmeti.SelectedItem as Predmet;
                //polozeniPredmet.Ocjena = int.Parse(txtOcjena.Text);
                //polozeniPredmet.DatumPolaganja = dtpDatumPolaganja.Value;
                //korisnik.Polozeni.Add(polozeniPredmet);
                //UcitajPolozenePredmete();
            }
            catch (Exception ex)
            {
                MboxHelper.PrikaziGresku(ex);
            }
        }
Exemplo n.º 2
0
        public static void LoadNePolozenePredmete(ComboBox comboBox, List <Predmeti> predmeti)
        {
            try
            {
                bool            postoji;
                List <Predmeti> nePolozeni = new List <Predmeti>();
                foreach (var p in konekcijaNabazu.Predmeti.ToList())
                {
                    postoji = false;
                    foreach (var pp in predmeti)
                    {
                        if (p.Id == pp.Id)
                        {
                            postoji = true;
                        }
                    }
                    if (!postoji)
                    {
                        nePolozeni.Add(p);
                    }
                }


                comboBox.DataSource    = null;
                comboBox.DisplayMember = null;
                comboBox.ValueMember   = null;
                comboBox.DataSource    = nePolozeni;
                comboBox.DisplayMember = "Naziv";
                comboBox.ValueMember   = "Id";
            }
            catch (Exception ex)
            {
                MboxHelper.PrikaziGresku(ex);
            }
        }
Exemplo n.º 3
0
        private void UcitajPodatke(List <KorisniciPredmeti> rezultat = null)
        {
            try
            {
                dgvKorisniciPredmeti.DataSource = null;
                dgvKorisniciPredmeti.DataSource = rezultat ?? konekcijaNaBazu.KorisniciPredmeti.ToList();

                double ocjena = 0;
                int    brojac = 0;

                if (rezultat == null)
                {
                    foreach (var r in konekcijaNaBazu.KorisniciPredmeti)
                    {
                        ocjena += r.Ocjena;
                        brojac++;
                    }
                }
                else
                {
                    foreach (var r in rezultat)
                    {
                        ocjena += r.Ocjena;
                        brojac++;
                    }
                }
                lbProsjek.Text = (ocjena / brojac).ToString();
            }
            catch (Exception ex)
            {
                MboxHelper.PrikaziGresku(ex);
            }
        }
Exemplo n.º 4
0
        private void dgvPoruke_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 3)
            {
                DialogResult response = MessageBox.Show("Da li želite izbrisati ovu poruku", "Delete",
                                                        MessageBoxButtons.YesNo,
                                                        MessageBoxIcon.Question,
                                                        MessageBoxDefaultButton.Button2);

                if (response == DialogResult.Yes)
                {
                    korisnik.Poruke.RemoveAt(dgvPoruke.CurrentCell.RowIndex);
                    konekcijaNaBazu.SaveChanges();
                    UcitajPodatke();
                }
            }
            else
            {
                try
                {
                    KorisniciPoruke poruka = dgvPoruke.SelectedRows[0].DataBoundItem as KorisniciPoruke;
                    edit = true;
                    frmNovaPorukaBrojIndeksa forma = new frmNovaPorukaBrojIndeksa(korisnik, poruka, edit);
                    forma.ShowDialog();
                }
                catch (Exception ex)
                {
                    MboxHelper.PrikaziGresku(ex);
                }
            }
        }
Exemplo n.º 5
0
        private void btnDodajPolozeni_Click(object sender, EventArgs e)
        {
            try
            {
                int ocjena = int.Parse(cmbOcjene.SelectedItem.ToString());
                if (ocjena < 6 || ocjena > 10)
                {
                    throw new Exception("Ocjena nije ispravna.");
                }

                Predmeti odabraniPredmet = cmbPredmeti.SelectedItem as Predmeti;
                ProvjeriDaLiPredmetPostoji(odabraniPredmet);

                KorisniciPredmeti polozeniPredmet = new KorisniciPredmeti();
                polozeniPredmet.Predmet = odabraniPredmet;
                polozeniPredmet.Ocjena  = ocjena;
                polozeniPredmet.Datum   = dtpDatumPolaganja.Value.ToString("dd.MM.yyyy");
                korisnik.Uspjeh.Add(polozeniPredmet);
                konekcijaNaBazu.SaveChanges();

                UcitajPolozenePredmete();
            }
            catch (Exception ex)
            {
                MboxHelper.PrikaziGresku(ex);
            }
        }
Exemplo n.º 6
0
        private void Izvjestaji_Load(object sender, EventArgs e)
        {
            try
            {
                if (korisnik == null) // Ako je korisnik null ne nastavljamo dalje
                {
                    return;
                }


                // Prosljedjujemo parametre
                ReportParameterCollection rpc = new ReportParameterCollection();
                rpc.Add(new ReportParameter("ImePrezime", $"{korisnik.Ime} {korisnik.Prezime}"));
                rpc.Add(new ReportParameter("Indeks", korisnik.KorisnickoIme));


                // Lista objekata
                List <object> list = new List <object>();
                int           i    = 0; // pomocni brojac

                // Listamo sve predmete
                foreach (var polozeni in konekcijaNaBazu.Predmeti)
                {
                    // Selektovanje ocjene i datuma u objekat
                    var podaci = konekcijaNaBazu.KorisniciPredmeti.ToList().Where(x => x.Predmet.Id == polozeni.Id && x.Korisnik.Id == korisnik.Id).Select(y => new { ocjena = y.Ocjena, datum = y.Datum }).FirstOrDefault();

                    /*
                     * .FirstOrDefault() sluzi da vrati prvi rezultat ako je niz
                     * ako bi koristili SingleOrDefault() onda bi bio exception za korisnike koji imaju duple ocjene koje
                     * smo dodali preko ASYNC
                     * sa SingleOrDefault nekad nam error dobro dodje jer nam javi da imamo u bazi vise rezultata,
                     * ali u ovom slucaju ne smijemo koristiti Single radi gore navedenog razloga.
                     */

                    // Popunjavamo niz objekata u listu
                    list.Add(new
                    {
                        Rb     = i++,
                        Naziv  = polozeni.Naziv,
                        Ocjena = podaci?.ocjena.ToString() != null ? podaci?.ocjena.ToString() : "Nije polozeno",
                        Datum  = podaci?.datum.ToString() != null ? podaci?.datum.ToString() : "Nije polozeno"
                    });
                }


                ReportDataSource rds = new ReportDataSource();
                rds.Name  = "DataSet1";
                rds.Value = list;

                reportViewer1.LocalReport.SetParameters(rpc);
                reportViewer1.LocalReport.DataSources.Add(rds);

                this.reportViewer1.RefreshReport();
            }
            catch (Exception ex)
            {
                MboxHelper.PrikaziGresku(ex);
            }
        }
 public static void LoadKorsinicPredemti(DataGridView dataGridView)
 {
     try
     {
         dataGridView.DataSource = null;
         dataGridView.DataSource = konekcijaNabazu.KorisniciPredmeti.Where(x => x.Korisnik.Id == 1).ToList();
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
Exemplo n.º 8
0
 public static void LoadSource(DataGridView dataGridView, List <Korisnik> korisnici = null)
 {
     try
     {
         dataGridView.DataSource = null;
         dataGridView.DataSource = korisnici ?? konekcijaNabazu.Korisnici.ToList();
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
Exemplo n.º 9
0
 public static void LoadPolozeneKorisniku(DataGridView dataGridView, Korisnik korisnik)
 {
     try
     {
         dataGridView.DataSource = null;
         dataGridView.DataSource = konekcijaNabazu.KorisniciPredmeti.Where(k => k.Korisnik.Id == korisnik.Id).ToList();
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
Exemplo n.º 10
0
 private void UcitajPodatke()
 {
     try
     {
         dgvPoruke.DataSource = null;
         dgvPoruke.DataSource = korisnik.Poruke.ToList();
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
Exemplo n.º 11
0
 public static void LoadSource(DataGridView dataGridView, List <GodineStudija> godineStudija = null)
 {
     try
     {
         dataGridView.DataSource = null;
         dataGridView.DataSource = godineStudija ?? konekcijaNabazu.GodineStudija.ToList();
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
Exemplo n.º 12
0
 public static void LoadPredmete(ComboBox comboBox)
 {
     try
     {
         comboBox.DataSource    = konekcijaNabazu.Predmeti.ToList();
         comboBox.DisplayMember = "Naziv";
         comboBox.ValueMember   = "Id";
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
Exemplo n.º 13
0
 public static void LoadGodineStudija(ComboBox comboBox)
 {
     try
     {
         comboBox.DataSource    = konekcijaNabazu.GodineStudija.Where(g => g.Aktivna == true).ToList();
         comboBox.DisplayMember = "Naziv";
         comboBox.ValueMember   = "Id";
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
Exemplo n.º 14
0
 private void UcitajPredmete()
 {
     try
     {
         cmbPredmeti.DataSource    = konekcijaNaBazu.Predmeti.ToList();//DBInMemory.NPP2018;
         cmbPredmeti.DisplayMember = "Naziv";
         cmbPredmeti.ValueMember   = "Id";
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
        private void LoadData(List <Korisnik> korisnici = null)
        {
            try
            {
                List <Korisnik> rezultati = korisnici ?? konekcijaNaBazu.Korisnici.ToList();

                dgvKorisnici.DataSource = null;
                dgvKorisnici.DataSource = rezultati;
            }
            catch (Exception ex)
            {
                MboxHelper.PrikaziGresku(ex);
            }
        }
Exemplo n.º 16
0
 public static void LoadOcjeneComboBox(ComboBox comboBox)
 {
     try
     {
         comboBox.DataSource    = null;
         comboBox.DataSource    = DodajOcjene();
         comboBox.DisplayMember = "Vrijednost";
         comboBox.ValueMember   = "Id";
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
Exemplo n.º 17
0
 private void UcitajPredmete(List <Predmeti> rezultat = null)
 {
     try
     {
         if (rezultat != null)
         {
             cmbPredmeti.DataSource = rezultat;
         }
         else
         {
             cmbPredmeti.DataSource = konekcijaNaBazu.Predmeti.ToList();
         }
         cmbPredmeti.DisplayMember = "Naziv";
         cmbPredmeti.ValueMember   = "Id";
     }
     catch (Exception ex)
     {
         MboxHelper.PrikaziGresku(ex);
     }
 }
Exemplo n.º 18
0
        private void IzracunajProsjek(List <Korisnik> rezultati = null)
        {
            try
            {
                // Ne moraju svi korisnici imati ocjene, zato je potreban ovaj brojac
                int    korisniciSaOcjenama = 0;
                double sumaOcjena          = 0; // ukupna suma ocjena

                if (rezultati?.Count() > 0)
                {
                    foreach (var rr in rezultati)
                    {
                        double tempSum = 0;

                        tempSum += rr.Uspjeh.Sum(x => x.Ocjena); // sum ocjena iz svih predmeta
                        if (tempSum == 0)                        // ako je 0 suma nema smisla ici dalje i dijeliti 0 u sljedecoj liniji, tako da idemo continue preskacemo ovog korisnika
                        {
                            continue;
                        }

                        tempSum    /= rr.Uspjeh.Count(); // podijeliti na koliko ima predmeta
                        sumaOcjena += tempSum;           // Dodaj na glavnu sumu
                        korisniciSaOcjenama++;
                    }
                }

                if (korisniciSaOcjenama > 0)
                {
                    lblProsjek.Text = (sumaOcjena / korisniciSaOcjenama).ToString("0.##"); // prikazivanje u labelu sa provjerom da li je null na metodu (?.), i 2 decimale na kraju
                }
                else
                {
                    lblProsjek.Text = "0";
                }
            } catch (Exception ex)
            {
                MboxHelper.PrikaziGresku(ex);
            }
        }
Exemplo n.º 19
0
        private void btnASYNC_Click(object sender, EventArgs e)
        {
            // Textbox, i ostale elemente moramo izvan async, inace nece thread moci prepoznati
            Predmeti odabraniPredmet = cmbPredmeti.SelectedItem as Predmeti;

            var DodavanjePredmetaTask = Task.Run(() =>
            {
                try
                {
                    for (int i = 0; i < 500; i++)
                    {
                        KorisniciPredmeti kp = new KorisniciPredmeti();

                        kp.Predmet = odabraniPredmet;
                        kp.Ocjena  = 6;
                        kp.Datum   = DateTime.Now.ToString("dd.MM.yyyy");

                        // Uvezivanje sa korisnikom
                        korisnik.Uspjeh.Add(kp);

                        // Spasi u bazu
                        konekcijaNaBazu.SaveChanges();
                    }
                } catch (Exception ex)
                {
                    MboxHelper.PrikaziGresku(ex);
                }
            });

            var cekanje = DodavanjePredmetaTask.GetAwaiter();//AWAIT

            cekanje.OnCompleted(() => {
                MessageBox.Show("Uspješno je dodano 500 predmeta");
                // Refresh tabele
                UcitajPolozenePredmete();
            });
        }