User:StrahinjaKralj
Appearance
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Domen; using Sesija;
namespace KolokvijumPrimer1
{
public partial class FrmKlijent : Form { //List<Predmet> pre = new List<Predmet>(); Broker b = new Broker();
public FrmKlijent() { InitializeComponent(); // Prikazuje unete Studente i Predmete cmbStudent.DataSource = Broker.dajSesiju().vratiStudente();//sta je bolje? cmbPredmet.DataSource = b.vratiPredmete(); cmbPredmetStatistika.DataSource = b.vratiPredmete(); }
// akcija na dugme "Sačuvaj ispitnu prijavu" private void button1_Click(object sender, EventArgs e) { // Skuplja podatke o prijavi Prijava prijava = new Prijava(); prijava.DatumPolaganja = txtDatumPolaganja.Text; prijava.Profesor = txtProfesor.Text; //jako biitno radi sa odabranim studentima Student s = cmbStudent.SelectedItem as Student; prijava.Student = s; Predmet p = cmbPredmet.SelectedItem as Predmet; prijava.Predmet = p;
// Proverava da li su sva polja za unos prijave popunjena if (txtDatumPolaganja.Text == "" || txtOcena.Text == "" || txtProfesor.Text == "" || cmbPredmet.SelectedItem == null || cmbStudent.SelectedItem == null) { MessageBox.Show("Morate popuniti sva polja!"); } else { prijava.Ocena = Convert.ToInt32(txtOcena.Text);
// Proverava da li ima novca na racunu if (s.StanjeNaRAcunu == 0 || s.StanjeNaRAcunu < Convert.ToDouble(p.Espb_Bodovi*100)) { MessageBox.Show("Nemate dovoljno novca na računu!"); } else { bool found = false; // Proverava da li je već uneta prijava za ovog sudenta za ovaj predmet foreach (Prijava pr in b.vratiPrijave()) { if (prijava.Predmet.SifraPredmeta == pr.Predmet.SifraPredmeta && prijava.Student.SifraStudenta == pr.Student.SifraStudenta) { MessageBox.Show("Prijava već postoji!"); found = true; break; } } if (!found) { // Unosi prijavu b.unesiPrijavu(prijava); // Smanjuje stanje na racunu za vrednost prijave s.StanjeNaRAcunu = s.StanjeNaRAcunu - p.Espb_Bodovi * 100; b.azurirajStanjeNaRacunu(s); MessageBox.Show("Prijava je uspešno sačuvana."); } } } }
// akcija na comboBox private void cmbPredmetStatistika_SelectedIndexChanged(object sender, EventArgs e) { //2 Za selektovani predmet iz comboBox-a prikazuje u tabeli sve Stdente koji su položili taj predmet Predmet p = cmbPredmetStatistika.SelectedItem as Predmet; dataGridView1.DataSource = b.prikaziPolozene(p); }
//3 akcija na dugme "Poništi ispit" private void btnPonistiIspit_Click(object sender, EventArgs e) { // Za selektovanog Studenta i Predmet se vrši brisanje prijave iz baze Student s = cmbStudent.SelectedItem as Student; Predmet p = cmbPredmet.SelectedItem as Predmet;
bool found = false;
// Proverava se da li ispitna prijava postoji u bazi foreach (Prijava prijava in b.vratiPrijave()) { if (prijava.Student.SifraStudenta == s.SifraStudenta && prijava.Predmet.SifraPredmeta == p.SifraPredmeta) { // Ako postoji ispitna prijava, proveravamo da li ima dovoljno novca na stanju da bi de prijava poništila if (s.StanjeNaRAcunu == 0 || s.StanjeNaRAcunu < Convert.ToDouble(prijava.Ocena * 100)) { MessageBox.Show("Nemate dovoljno novca na računu!"); } // Ako ima novca na stanju brišemo prijavu else { b.obrisiPrijavu(s, p); s.StanjeNaRAcunu = s.StanjeNaRAcunu - prijava.Ocena * 100; b.azurirajStanjeNaRacunu(s); MessageBox.Show("Ispitna prijava je poništena."); } found = true; break; } } if (!found) MessageBox.Show("Prijava ne postoji u bazi!"); }
}
}