private bool validacijaIzmeneProjektora() { Ucionica staraUcionica = racunarskiCentar.Ucionice[oznakaUcioniceZaIzmenu]; if (prisustvoProjektoraUcionica.IsChecked) { staraUcionica.PrisustvoProjektora = prisustvoProjektoraUcionica.IsChecked; staraUcionica.ProjektorString = staraUcionica.PrisustvoProjektora ? "prisutan" : "nije prisutan"; return(true); } List <string> sviPredmetiUcionice = new List <string>(); foreach (KalendarPolje polje in racunarskiCentar.PoljaKalendara.Values) //trazimo sve predmete koji se odrzavaju u datoj ucionici { if (polje.Ucionica.Trim().Equals(staraUcionica.Oznaka.Trim())) { sviPredmetiUcionice.Add(polje.NazivPolja.Split('-')[0].Trim()); } } List <string> predmetiKojiZahtevajuProjektor = new List <string>(); foreach (string poz in sviPredmetiUcionice) { if (racunarskiCentar.Predmeti[poz].NeophodanProjektor) { predmetiKojiZahtevajuProjektor.Add(poz); } } List <string> predmetiKojiZahtevajuProjektorBezDupl = predmetiKojiZahtevajuProjektor.Distinct().ToList(); if (predmetiKojiZahtevajuProjektorBezDupl.Count > 0) { PotvrdaIzmene potvrda = new PotvrdaIzmene(); potvrda.Title = "Nedostatak projektora"; potvrda.PorukaBrisanja.Text = "Da li ste sigurni?\n\nUkoliko potvrdite izmenu, sledeci predmeti ce se ukloniti iz rasporeda" + " u ucionici zbog nedostatka projektora:\n"; List <string> kljuceviPolja = new List <string>(); for (int i = 0; i < predmetiKojiZahtevajuProjektorBezDupl.Count; i++) { potvrda.PorukaBrisanja.Text += "\n" + (i + 1) + ". " + predmetiKojiZahtevajuProjektorBezDupl[i]; foreach (KalendarPolje polje in racunarskiCentar.PoljaKalendara.Values) { if (polje.NazivPolja.Split('-')[0].Trim().Equals(predmetiKojiZahtevajuProjektorBezDupl[i]) && polje.Ucionica.Equals(staraUcionica.Oznaka)) { kljuceviPolja.Add(polje.Id); } } } potvrda.ShowDialog(); if (potvrda.daKlik) { foreach (string id in kljuceviPolja) { racunarskiCentar.PoljaKalendara.Remove(id); } foreach (string poz in predmetiKojiZahtevajuProjektor) { racunarskiCentar.Predmeti[poz].PreostaliTermini++; } } else { return(false); } } staraUcionica.PrisustvoProjektora = prisustvoProjektoraUcionica.IsChecked; staraUcionica.ProjektorString = staraUcionica.PrisustvoProjektora ? "prisutan" : "nije prisutan"; return(true); }
private bool validacijaBrojaRadnihMesta() { Ucionica staraUcionica = racunarskiCentar.Ucionice[oznakaUcioniceZaIzmenu]; if (staraUcionica.BrojRadnihMesta == int.Parse(brojRadnihMestaUcionica.Text.Trim())) { return(true); } int noviBrMesta = int.Parse(brojRadnihMestaUcionica.Text.Trim()); List <string> sviPredmetiUcionice = new List <string>(); foreach (KalendarPolje polje in racunarskiCentar.PoljaKalendara.Values) //trazimo sve predmete koji se odrzavaju u datoj ucionici { if (polje.Ucionica.Trim().Equals(staraUcionica.Oznaka.Trim())) { sviPredmetiUcionice.Add(polje.NazivPolja.Split('-')[0].Trim()); } } List <string> predmetiKojiZahtevajuBrojMesta = new List <string>(); foreach (string poz in sviPredmetiUcionice) { if (racunarskiCentar.Predmeti[poz].VelicinaGrupe > noviBrMesta) { predmetiKojiZahtevajuBrojMesta.Add(poz); } } List <string> predmetiKojiZahtevajuBrojMestaBezDupl = predmetiKojiZahtevajuBrojMesta.Distinct().ToList(); if (predmetiKojiZahtevajuBrojMestaBezDupl.Count > 0) { PotvrdaIzmene potvrda = new PotvrdaIzmene(); potvrda.Title = "Nedovoljno mesta"; potvrda.PorukaBrisanja.Text = "Da li ste sigurni?\n\nUkoliko potvrdite izmenu, sledeci predmeti ce se ukloniti iz rasporeda" + " u ucionici zbog nedostatka mesta u ucionici:\n"; List <string> kljuceviPolja = new List <string>(); for (int i = 0; i < predmetiKojiZahtevajuBrojMestaBezDupl.Count; i++) { potvrda.PorukaBrisanja.Text += "\n" + (i + 1) + ". " + predmetiKojiZahtevajuBrojMestaBezDupl[i]; foreach (KalendarPolje polje in racunarskiCentar.PoljaKalendara.Values) { if (polje.NazivPolja.Split('-')[0].Trim().Equals(predmetiKojiZahtevajuBrojMestaBezDupl[i]) && polje.Ucionica.Equals(staraUcionica.Oznaka)) { kljuceviPolja.Add(polje.Id); } } } potvrda.ShowDialog(); if (potvrda.daKlik) { foreach (string id in kljuceviPolja) { racunarskiCentar.PoljaKalendara.Remove(id); } foreach (string poz in predmetiKojiZahtevajuBrojMesta) { racunarskiCentar.Predmeti[poz].PreostaliTermini++; } } else { return(false); } } staraUcionica.BrojRadnihMesta = int.Parse(brojRadnihMestaUcionica.Text.Trim()); return(true); }
private bool validacijaIzmeneSoftvera() { Ucionica staraUcionica = racunarskiCentar.Ucionice[oznakaUcioniceZaIzmenu]; List <string> sviPredmetiUcionice = new List <string>(); foreach (KalendarPolje polje in racunarskiCentar.PoljaKalendara.Values) //trazimo sve predmete koji se odrzavaju u datoj ucionici { if (polje.Ucionica.Trim().Equals(staraUcionica.Oznaka.Trim())) { sviPredmetiUcionice.Add(polje.NazivPolja.Split('-')[0].Trim()); } } List <string> predmetiUcionice = sviPredmetiUcionice.Distinct().ToList(); //izbacimo duplikate List <string> predmetiBezSoftvera = new List <string>(); foreach (string poz in sviPredmetiUcionice) // prolazim kroz sve predmete unutar ucionice { Predmet predmet = racunarskiCentar.Predmeti[poz]; foreach (string soft in predmet.Softveri) //prolazim kroz sve softvere jednog predmeta { bool postoji = false; for (int i = 0; i < softverTabela.Items.Count; i++) //iteriram kroz svaki oznaceni softver { Softver softver = (Softver)softverTabela.Items[i]; if (softver.Instaliran) { if (soft.Trim().Equals(softver.Oznaka.Trim())) //trazim taj softver u ucionici { postoji = true; } } } if (!postoji) { predmetiBezSoftvera.Add(poz); } } } List <string> predmetiBezSoftBezDupl = predmetiBezSoftvera.Distinct().ToList(); if (predmetiBezSoftBezDupl.Count > 0) { PotvrdaIzmene potvrda = new PotvrdaIzmene(); potvrda.Title = "Nedostatak softvera"; potvrda.PorukaBrisanja.Text = "Da li ste sigurni?\n\nUkoliko potvrdite izmenu, sledeci predmeti ce se ukloniti iz rasporeda" + " u ucionici zbog nedostatka softvera:\n"; List <string> kljuceviPolja = new List <string>(); for (int i = 0; i < predmetiBezSoftBezDupl.Count; i++) { potvrda.PorukaBrisanja.Text += "\n" + (i + 1) + ". " + predmetiBezSoftBezDupl[i]; foreach (KalendarPolje polje in racunarskiCentar.PoljaKalendara.Values) { if (polje.NazivPolja.Split('-')[0].Trim().Equals(predmetiBezSoftBezDupl[i]) && polje.Ucionica.Equals(staraUcionica.Oznaka)) { kljuceviPolja.Add(polje.Id); } } } potvrda.ShowDialog(); if (potvrda.daKlik) { foreach (string id in kljuceviPolja) { racunarskiCentar.PoljaKalendara.Remove(id); } foreach (string poz in predmetiBezSoftvera) { racunarskiCentar.Predmeti[poz].PreostaliTermini++; } } else { return(false); } } if ((bool)LinuxOSUcionica.IsChecked) { staraUcionica.OperativniSistem = "Linux"; } else if ((bool)WindowsOSUcionica.IsChecked) { staraUcionica.OperativniSistem = "Windows"; } else { staraUcionica.OperativniSistem = "Windows i Linux"; } staraUcionica.InstaliraniSoftveri.Clear(); StringBuilder sb = new StringBuilder(); int brojSoftvera = 0; for (int i = 0; i < softverTabela.Items.Count; i++) { Softver softver = (Softver)softverTabela.Items[i]; if (softver.Instaliran) { brojSoftvera++; staraUcionica.InstaliraniSoftveri.Add(softver.Oznaka); if (brojSoftvera > 1) { sb.Append("\n"); } sb.Append("Oznaka: " + softver.Oznaka); sb.Append("\nNaziv: " + softver.Naziv); sb.Append("\nOpis: " + softver.Opis + "\n"); softver.Instaliran = false; } } staraUcionica.SoftveriLista = sb.ToString(); return(true); }