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); } }
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); }
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); } } }
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); } } }
public AddObezbedjenjeViewModel() { addCommand = new MyICommand(OnAdd); dodajStadioneSaKlubovima(); ucitajDrzave(); Radnik_prop = new Obezbedjenje() { id_radnika = 0, ime_radnika = "", prezime_radnika = "" }; }
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(); }
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); } } }
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); } }
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); } } }