Ejemplo n.º 1
0
        private void OnDelete()
        {
            using (var db = new BazaZaLiguEntities())
            {
                Stadion stadion_zaBrisanje = db.Stadions.Find(Selektovani_stadion.S.id_stadiona);
                if (!izvrsiProvere(stadion_zaBrisanje))
                {
                    //nije ispunio uslove brisanje, ne brisi
                    return;
                }

                //brisi iz klubova
                List <Poseduje> posedujeLista = stadion_zaBrisanje.Posedujes.ToList();
                foreach (Poseduje pos in posedujeLista)
                {
                    Poseduje            poseduje = db.Posedujes.Where(x => x.klub_naziv == pos.klub_naziv && x.stadion_id_stadiona == pos.stadion_id_stadiona).FirstOrDefault();
                    List <Obezbedjenje> radnici  = poseduje.Obezbedjenjes.ToList();
                    foreach (Obezbedjenje item in radnici)
                    {
                        Obezbedjenje radnik = db.Obezbedjenjes.Find(item.id_radnika);
                        radnik.Posedujes.Remove(poseduje);
                        db.Entry(radnik).State = System.Data.Entity.EntityState.Modified;
                    }
                    db.Posedujes.Remove(poseduje);
                    db.SaveChanges();
                }

                db.Entry(stadion_zaBrisanje).State = System.Data.Entity.EntityState.Deleted;
                db.SaveChanges();
                stadioni.Remove(Selektovani_stadion);
                OnPropertyChanged("stadioni");
                MessageBox.Show("Uspesno ste obrisali stadion", "Uspesno", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                LogReport(stadion_zaBrisanje);
            }
        }
Ejemplo n.º 2
0
        private bool izvrsiProvere(Stadion stadionZaProveru)
        {
            if (stadionZaProveru == null)
            {
                return(false);
            }

            using (var db = new BazaZaLiguEntities())
            {
                //provera za radnike na stadionu, poseduje
                List <Poseduje> provera_poseduje = db.Posedujes.Where(x => x.stadion_id_stadiona == stadionZaProveru.id_stadiona).ToList();
                int             brojKlubova      = provera_poseduje.Count;

                foreach (Poseduje item in provera_poseduje)
                {
                    foreach (Obezbedjenje obez in item.Obezbedjenjes) //radnici , obezbedjenje
                    {
                        Obezbedjenje obezbedjenje = db.Obezbedjenjes.Find(obez.id_radnika);
                        if (obezbedjenje.Posedujes.Count < brojKlubova + 1) //radnik mora da radi na jos nekom stadionu koji ne pripada tom klubu
                        {
                            MessageBox.Show("Od stadiona zavise Radnici , prvo njih obrisati", "Oprez", MessageBoxButton.OK, MessageBoxImage.Warning);
                            return(false);
                        }
                    }
                }
            }
            return(true);
        }
Ejemplo n.º 3
0
        private void OnDelete()
        {
            using (var db = new BazaZaLiguEntities())
            {
                Obezbedjenje radnik_zaBrisanje = db.Obezbedjenjes.Find(Selektovani_radnik.Radnik.id_radnika);
                if (radnik_zaBrisanje != null)
                {
                    List <Poseduje> poseduje = radnik_zaBrisanje.Posedujes.ToList();
                    foreach (Poseduje item in poseduje)
                    {
                        Poseduje pos = db.Posedujes.Where(x => x.klub_naziv == item.klub_naziv && x.stadion_id_stadiona == item.stadion_id_stadiona).FirstOrDefault();
                        pos.Obezbedjenjes.Remove(radnik_zaBrisanje);
                        db.SaveChanges();
                    }


                    db.Entry(radnik_zaBrisanje).State = System.Data.Entity.EntityState.Deleted;
                    db.SaveChanges();
                    radnici.Remove(Selektovani_radnik);
                    OnPropertyChanged("radnici");
                    MessageBox.Show("Uspesno ste obrisali radnika", "Uspesno", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                    LogReport(radnik_zaBrisanje);
                }
            }
        }
Ejemplo n.º 4
0
        private void OnUpdate()
        {
            if (validate())
            {
                using (var db = new BazaZaLiguEntities())
                {
                    Obezbedjenje novi_radnik = db.Obezbedjenjes.Find(Selektovani_radnik.Radnik.id_radnika);
                    novi_radnik.ime_radnika     = Selektovani_radnik.Radnik.ime_radnika;
                    novi_radnik.prezime_radnika = Selektovani_radnik.Radnik.prezime_radnika;
                    novi_radnik.drzava          = Selektovani_radnik.Radnik.drzava;

                    novi_radnik.Posedujes.Clear();
                    db.Entry(novi_radnik).State = System.Data.Entity.EntityState.Modified;
                    foreach (Poseduje_Selektovan poseduje in Poseduju)
                    {
                        if (poseduje.IsSelected)
                        {
                            Poseduje noviStadionKlub = db.Posedujes.Where(x =>
                                                                          x.klub_naziv == poseduje.P.klub_naziv && x.stadion_id_stadiona == poseduje.P.stadion_id_stadiona).FirstOrDefault();

                            novi_radnik.Posedujes.Add(noviStadionKlub);
                        }
                    }
                    db.Entry(novi_radnik).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    ucitajRadnike();
                    ucitajPoseduje();
                    MessageBox.Show("Uspesno ste promenili radnika", "Uspesno", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                }
            }
        }
Ejemplo n.º 5
0
 public AddObezbedjenjeViewModel()
 {
     addCommand = new MyICommand(OnAdd);
     dodajStadioneSaKlubovima();
     ucitajDrzave();
     Radnik_prop = new Obezbedjenje()
     {
         id_radnika = 0, ime_radnika = "", prezime_radnika = ""
     };
 }
Ejemplo n.º 6
0
        public void LogReport(Obezbedjenje logObjekat)
        {
            string       outPutText = "";
            StreamWriter file       = new StreamWriter("@../../../../../LogReport.txt", true);

            outPutText = string.Format("KREIRANJE {0} \t RADNIK:    ID: {1}, Ime: {2} , Prezime: {3} , Drzava: {4}\n"
                                       , DateTime.Now.ToShortDateString(), logObjekat.id_radnika, logObjekat.ime_radnika, logObjekat.prezime_radnika, logObjekat.drzava);

            file.WriteLine(outPutText);
            file.Close();
        }
Ejemplo n.º 7
0
        private void OnAdd()
        {
            if (validate())
            {
                using (var db = new BazaZaLiguEntities())
                {
                    // dodaj selektovane stadione sa klubovima
                    List <Poseduje> poseduje_zaDodavanje = new List <Poseduje>();
                    foreach (Poseduje_Selektovan poseduje in stadioni_klubovi)
                    {
                        if (poseduje.IsSelected)
                        {
                            Poseduje posedujeProvera = db.Posedujes.Where(x => x.klub_naziv == poseduje.P.klub_naziv && x.stadion_id_stadiona == poseduje.P.stadion_id_stadiona).FirstOrDefault();
                            poseduje_zaDodavanje.Add(posedujeProvera);
                        }
                    }

                    if (poseduje_zaDodavanje.Count <= 0) // nije odabrao nijedan stadion
                    {
                        MessageBox.Show("Potrebno je odabrati barem 1 stadion !", "Oprez", MessageBoxButton.OK, MessageBoxImage.Warning);
                        return;
                    }
                    //id logic
                    int          nextID    = 0;
                    Obezbedjenje proveraID = null;
                    do
                    {
                        proveraID = db.Obezbedjenjes.Where(x => x.id_radnika == nextID + 1).FirstOrDefault();
                        nextID++;
                    }while (proveraID != null);

                    Obezbedjenje novi_radnik = new Obezbedjenje()
                    {
                        id_radnika = nextID, ime_radnika = Radnik_prop.ime_radnika, prezime_radnika = Radnik_prop.prezime_radnika, drzava = Radnik_prop.drzava
                    };
                    novi_radnik.Posedujes = poseduje_zaDodavanje;

                    db.Obezbedjenjes.Add(novi_radnik);
                    db.SaveChanges();
                    MessageBox.Show("Uspesno ste dodali radnika", "Uspesno", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                    LogReport(novi_radnik);
                }
            }
        }
Ejemplo n.º 8
0
        private bool izvrsiProvere(Klub klubZaProveru)
        {
            using (var db = new BazaZaLiguEntities())
            {
                //provera za radnike na stadionu, poseduje
                List <Poseduje> provera_poseduje = db.Posedujes.Where(x => x.klub_naziv == klubZaProveru.naziv).ToList();
                int             brojStadiona     = provera_poseduje.Count;

                foreach (Poseduje item in provera_poseduje)
                {
                    foreach (Obezbedjenje obez in item.Obezbedjenjes) //radnici , obezbedjenje
                    {
                        Obezbedjenje obezbedjenje = db.Obezbedjenjes.Find(obez.id_radnika);
                        if (obezbedjenje.Posedujes.Count < brojStadiona + 1) //radnik mora da radi na jos nekom stadionu koji ne pripada tom klubu
                        {
                            MessageBox.Show("Od kluba zavise Radnici na stadionu, prvo njih obrisati", "Oprez", MessageBoxButton.OK, MessageBoxImage.Warning);
                            return(false);
                        }
                    }
                }
                //provera za vlasnike, pripada
                foreach (Vlasnik item in klubZaProveru.Vlasniks)
                {
                    Vlasnik vlasnik = db.Vlasniks.Find(item.id_vlasnika);
                    if (vlasnik.Klubs.Count <= 1)
                    {
                        MessageBox.Show("Od kluba zavise Vlasnici, prvo njih obrisati", "Oprez", MessageBoxButton.OK, MessageBoxImage.Warning);
                        return(false);
                    }
                }
                //provera za navijace , navija
                foreach (Navijac item in klubZaProveru.Navijacs)
                {
                    Navijac navijac = db.Navijacs.Find(item.id_navijaca);
                    if (navijac.Klubs.Count <= 1)
                    {
                        MessageBox.Show("Od kluba zavise Navijaci, prvo njih obrisati", "Oprez", MessageBoxButton.OK, MessageBoxImage.Warning);
                        return(false);
                    }
                }
                //sve je u redu:
                return(true);
            }
        }
Ejemplo n.º 9
0
        private void OnUpdate()
        {
            if (validate())
            {
                using (var db = new BazaZaLiguEntities())
                {
                    Stadion novi_stadion = db.Stadions.Find(Selektovani_stadion.S.id_stadiona);
                    novi_stadion.naziv_stadiona = Selektovani_stadion.S.naziv_stadiona;
                    novi_stadion.grad           = Selektovani_stadion.S.grad;
                    novi_stadion.kapacitet      = Selektovani_stadion.S.kapacitet;


                    List <Poseduje> provera_poseduje = db.Posedujes.Where(x => x.stadion_id_stadiona == novi_stadion.id_stadiona).ToList();
                    List <string>   stariKlubovi     = new List <string>(); //bili su ranije selektovani
                    foreach (var item in provera_poseduje)
                    {
                        stariKlubovi.Add(item.Klub.naziv);
                    }


                    //novi_stadion.Posedujes.Clear();
                    //
                    foreach (Klub_Selektovan klub in Klubovi)
                    {
                        if (klub.IsSelected)
                        {
                            if (!stariKlubovi.Contains(klub.K.naziv)) //Nije bio selektovan, sad jeste
                            {
                                Klub     kl       = db.Klubs.Find(klub.K.naziv);
                                Poseduje poseduje = new Poseduje()
                                {
                                    Klub = kl, Stadion = novi_stadion
                                };
                                db.Posedujes.Add(poseduje);
                                db.SaveChanges();
                            }
                        }
                        else if (stariKlubovi.Contains(klub.K.naziv)) //bio je selektovan, sad nije
                        {
                            // radnici dobiju otkaz, brisi ako samo tu rade
                            Poseduje            item    = provera_poseduje.Where(x => x.klub_naziv == klub.K.naziv && x.stadion_id_stadiona == novi_stadion.id_stadiona).FirstOrDefault();
                            List <Obezbedjenje> radnici = item.Obezbedjenjes.ToList();
                            foreach (Obezbedjenje obez in radnici) //radnici , obezbedjenje
                            {
                                Obezbedjenje obezbedjenje = db.Obezbedjenjes.Find(obez.id_radnika);
                                if (obezbedjenje.Posedujes.Count < 2) //brisi radnike koji rade samo tu
                                {
                                    db.Obezbedjenjes.Remove(obezbedjenje);
                                    db.SaveChanges();
                                }
                            }
                            db.Posedujes.Remove(item);  //brisi vezu izmedju stadiona i kluba
                            db.SaveChanges();
                        }
                    }
                    db.Entry(novi_stadion).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    ucitajStadione();
                    ucitajKlubove();
                    Kapacitet = "";
                    OnPropertyChanged("Kapacitet");
                    MessageBox.Show("Uspesno ste promenili stadion", "Uspesno", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                }
            }
        }