Beispiel #1
0
 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();
            }
        }
Beispiel #3
0
        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);
                    }
                }
            }
        }