public void OnDelete() { using (var db = new BazaZaLiguEntities()) { Igrac igrac_zaBrisanje = db.Igracs.Find(Selektovani_igrac.igrac.id_igraca); if (igrac_zaBrisanje != null) { //treba veza ka menadzeru da se ispita foreach (Menadzer item in igrac_zaBrisanje.Menadzers) { Menadzer menadzer = db.Menadzers.Find(item.id_menagera); if (menadzer.Igracs.Count <= 1) { MessageBox.Show("Igrac je jedini klijent menadzeru " + menadzer.ime_menagera + " " + menadzer.prezime_menagera + "\n Potrebno je obrisati prvo Menadzera igraca", "Oprez", MessageBoxButton.OK, MessageBoxImage.Warning); return; } } //treba veza ka menadzeru da se ispita List <transferistorija> transferistorijas = igrac_zaBrisanje.transferistorijas.ToList(); foreach (transferistorija item in transferistorijas) { transferistorija transf = db.transferistorijas.Find(item.id); db.transferistorijas.Remove(transf); } db.Entry(igrac_zaBrisanje).State = System.Data.Entity.EntityState.Deleted; igraci.Remove(Selektovani_igrac); db.SaveChanges(); MessageBox.Show("Uspesno ste obrisali igraca", "Uspesno", MessageBoxButton.OK, MessageBoxImage.Asterisk); LogReport(igrac_zaBrisanje); } } }
public void OnUpdate() { if (validate()) { using (var db = new BazaZaLiguEntities()) { double prosek_golova = 0; Igrac igrac_update = db.Igracs.Find(Selektovani_igrac.igrac.id_igraca); if (igrac_update != null) { igrac_update.ime_igraca = Selektovani_igrac.igrac.ime_igraca; igrac_update.prezime_igraca = Selektovani_igrac.igrac.prezime_igraca; igrac_update.odigranih_utakmica = Selektovani_igrac.igrac.odigranih_utakmica; igrac_update.postignutih_golova = Selektovani_igrac.igrac.postignutih_golova; igrac_update.godine_igraca = Selektovani_igrac.igrac.godine_igraca; if (igrac_update.odigranih_utakmica != 0 || igrac_update.postignutih_golova != 0) { prosek_golova = (double)db.Database.SqlQuery <double>($"SELECT [dbo].[Prosek]({igrac_update.postignutih_golova},{igrac_update.odigranih_utakmica})").FirstOrDefault(); prosek_golova = Math.Round(prosek_golova, 2); } igrac_update.prosek_golova = prosek_golova; if (Selektovani_igrac.Prethodni_klub == Selektovani_igrac.igrac.naziv_kluba || (Selektovani_igrac.Prethodni_klub == null && (Selektovani_igrac.igrac.naziv_kluba == "" || Selektovani_igrac.igrac.naziv_kluba == null))) // nije promenio { db.Entry(igrac_update).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); MessageBox.Show("Uspesno ste promenili igraca", "Uspesno", MessageBoxButton.OK, MessageBoxImage.Asterisk); return; } else if (Selektovani_igrac.igrac.naziv_kluba == "" || Selektovani_igrac.igrac.naziv_kluba == null) //dao je otkaz u klubu { Klub stariKlub = db.Klubs.Where(x => x.naziv == selektovani_igrac.igrac.vodi_naziv).FirstOrDefault(); if (stariKlub != null) { Vodi stari_trener = db.Vodis.Where(x => x.klub_naziv == stariKlub.naziv).FirstOrDefault(); stari_trener.Igracs.Remove(Selektovani_igrac.igrac); stariKlub.Igracs.Remove(Selektovani_igrac.igrac); } igrac_update.naziv_kluba = null; db.Entry(igrac_update).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); igrac_update.Vodi = null; } else //odabrao je drugi klub { igrac_update.naziv_kluba = Selektovani_igrac.igrac.naziv_kluba; Klub novi_klub_igraca = db.Klubs.Find(igrac_update.naziv_kluba); igrac_update.Klub = novi_klub_igraca; Vodi stari_trener = db.Vodis.Where(x => x.klub_naziv == Selektovani_igrac.igrac.vodi_naziv).FirstOrDefault(); if (stari_trener != null) { stari_trener.Igracs.Remove(Selektovani_igrac.igrac); db.SaveChanges(); } Vodi trener_Novog_Kluba = db.Vodis.Where(x => x.klub_naziv == novi_klub_igraca.naziv).FirstOrDefault(); igrac_update.Vodi = trener_Novog_Kluba; //generise sledeci ID: int nextID = 0; transferistorija proveraIDa = null; do { proveraIDa = db.transferistorijas.Where(x => x.id == nextID + 1).FirstOrDefault(); nextID++; }while (proveraIDa != null); transferistorija transfer = new transferistorija() { id = nextID, Igrac = igrac_update, klub = igrac_update.naziv_kluba }; transfer.datum = DateTime.Now.ToShortDateString(); db.transferistorijas.Add(transfer); db.SaveChanges(); } db.Entry(igrac_update).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); MessageBox.Show("Uspesno ste promenili igraca", "Uspesno", MessageBoxButton.OK, MessageBoxImage.Asterisk); } } ucitajKlubove(); } }
public void OnAdd() { if (validate()) { using (var db = new BazaZaLiguEntities()) { double golovi = 0; //generise sledeci ID: int nextID = 0; Igrac proveraID = null; do { proveraID = db.Igracs.Where(x => x.id_igraca == nextID + 1).FirstOrDefault(); nextID++; }while (proveraID != null); Igrac novi_igrac = new Igrac() { id_igraca = nextID, ime_igraca = Igrac_prop.ime_igraca, prezime_igraca = Igrac_prop.prezime_igraca, postignutih_golova = Igrac_prop.postignutih_golova, odigranih_utakmica = Igrac_prop.odigranih_utakmica, godine_igraca = Igrac_prop.godine_igraca }; //prosek golova if (novi_igrac.postignutih_golova != 0 && novi_igrac.odigranih_utakmica != 0) { double postignutih = (double)novi_igrac.postignutih_golova; double odigranih = (double)novi_igrac.odigranih_utakmica; golovi = (double)db.Database.SqlQuery <double>($"SELECT [dbo].[Prosek]({postignutih},{odigranih})").FirstOrDefault(); golovi = Math.Round(golovi, 2); } novi_igrac.prosek_golova = Math.Round(golovi, 2); if (SelektovaniKlub != null && SelektovaniKlub != "") { Klub njegov_klub = db.Klubs.Find(SelektovaniKlub); novi_igrac.Klub = njegov_klub; novi_igrac.naziv_kluba = njegov_klub.naziv; Vodi njegov_vodi = db.Vodis.Where(x => x.klub_naziv == SelektovaniKlub).FirstOrDefault(); if (njegov_vodi != null) { novi_igrac.Vodi = njegov_vodi; novi_igrac.vodi_id_trenera = njegov_vodi.trener_id_trenera; novi_igrac.vodi_naziv = njegov_vodi.klub_naziv; } } db.Igracs.Add(novi_igrac); try { db.SaveChanges(); //generise sledeci ID: nextID = 0; transferistorija proveraIDa = null; do { proveraIDa = db.transferistorijas.Where(x => x.id == nextID + 1).FirstOrDefault(); nextID++; }while (proveraIDa != null); transferistorija transfer = new transferistorija() { id = nextID, Igrac = novi_igrac, klub = novi_igrac.naziv_kluba }; transfer.datum = DateTime.Now.ToShortDateString(); db.transferistorijas.Add(transfer); db.SaveChanges(); MessageBox.Show("Uspesno dodat igrac", "Uspesno", MessageBoxButton.OK, MessageBoxImage.Asterisk); LogReport(novi_igrac); } catch (Exception) { MessageBox.Show("Greska prilikom dodaje igraca", "Oprez", MessageBoxButton.OK, MessageBoxImage.Warning); } } } }