public void prikazSenzuatora(int n, string oznaka) { IspisUpisSG iu = IspisUpisSG.getInstance(); if (oznaka == "s") { foreach (Mjesto m in db.dajMjesta()) { foreach (Senzor s in m.ls) { if (s.ID == n) { iu.print(iu.pofarbaj("crvena") + "[ID]\t[TIP]\t[VRSTA]\t[ISPRAVNOST][VRIJEDNOST][NAZIV]"); iu.print(s.ID.ToString() + "\t " + s.tip.ToString() + "\t " + s.vrsta.ToString() + "\t" + s.ispravnost + "\t\t " + s.vrijednost.ToString() + "\t" + s.naziv); } } } } else if (oznaka == "a") { foreach (Mjesto m in db.dajMjesta()) { foreach (Aktuator s in m.la) { if (s.ID == n) { iu.print(iu.pofarbaj("crvena") + "[ID]\t[TIP]\t[VRSTA]\t[ISPRAVNOST][VRIJEDNOST][NAZIV]"); iu.print(s.ID.ToString() + "\t " + s.tip.ToString() + "\t " + s.vrsta.ToString() + "\t" + s.ispravnost + "\t\t " + s.vrijednost.ToString() + "\t" + s.naziv); } } } } }
public void prikazAkt() { IspisUpisSG iu = IspisUpisSG.getInstance(); iu.print(""); if (db.dajAktuatore().Count > 0) { iu.print("\t\t***AKTUATORI***"); iu.print(iu.pofarbaj("crvena") + "\t[Naziv]\t\t\t\t[ID]\t[TIP]\t[Vrsta]\t[Min/Max]" + iu.pofarbaj("bijela")); foreach (Aktuator s in db.dajAktuatore()) { if (s.dohvatiNaziv().Length <= 23) { iu.print(s.dohvatiNaziv() + "\t\t\t" + s.ID.ToString() + "\t " + s.dohvatiTip() + "\t " + s.dohvatiVrstu() + "\t " + s.dohvatiMinVrijednost() + "/" + s.dohvatiMaxVrijednost()); } else if (s.dohvatiNaziv().Length > 23 && s.dohvatiNaziv().Length < 29) { iu.print(s.dohvatiNaziv() + "\t\t" + s.ID.ToString() + "\t " + s.dohvatiTip() + "\t " + s.dohvatiVrstu() + "\t " + s.dohvatiMinVrijednost() + "/" + s.dohvatiMaxVrijednost()); } else if (s.dohvatiNaziv().Length >= 33) { iu.print(s.dohvatiNaziv() + "\t" + s.ID.ToString() + "\t " + s.dohvatiTip() + "\t " + s.dohvatiVrstu() + "\t " + s.dohvatiMinVrijednost() + "/" + s.dohvatiMaxVrijednost()); } else { iu.print(s.dohvatiNaziv() + "\t\t" + s.ID.ToString() + "\t " + s.dohvatiTip() + "\t " + s.dohvatiVrstu() + "\t " + s.dohvatiMinVrijednost() + "/" + s.dohvatiMaxVrijednost()); } } } }
public void prikazSenz() { IspisUpisSG iu = IspisUpisSG.getInstance(); iu.print(""); if (db.dajSenzore().Count > 0) { iu.print("\t\t***SENZORI***"); iu.print(iu.pofarbaj("crvena") + "\t[Naziv]\t\t[ID]\t[TIP]\t[Vrsta]\t\t[Min/Max]" + iu.pofarbaj("bijela")); foreach (Senzor s in db.dajSenzore()) { if (s.dohvatiNaziv().Length < 8) { iu.print(s.dohvatiNaziv() + "\t\t\t " + s.ID.ToString() + "\t " + s.dohvatiTip() + "\t\t" + s.dohvatiVrstu() + "\t " + s.dohvatiMinVrijednost() + "/" + s.dohvatiMaxVrijednost()); } else if (s.dohvatiNaziv().Length >= 8 && s.dohvatiNaziv().Length < 13) { iu.print(s.dohvatiNaziv() + "\t\t " + s.ID.ToString() + "\t " + s.dohvatiTip() + "\t\t" + s.dohvatiVrstu() + "\t " + s.dohvatiMinVrijednost() + "/" + s.dohvatiMaxVrijednost()); } else { iu.print(s.dohvatiNaziv() + "\t " + s.ID.ToString() + "\t " + s.dohvatiTip() + "\t\t" + s.dohvatiVrstu() + "\t " + s.dohvatiMinVrijednost() + "/" + s.dohvatiMaxVrijednost()); } //iu.print("\tTip : " + s.dohvatiTip()+ "\tVrsta : " + s.dohvatiVrstu()+"\tMin vrijednost: " + s.dohvatiMinVrijednost() + "\tMax vrijednost : " + s.dohvatiMaxVrijednost()); // if (s.komentar != null) iu.print("\tKomentar : " + s.dohvatiKomentar()); } } }
public AlgoritamABC() { iu.print2(""); iu.print2(iu.pofarbaj("crvena") + "\t\t[ALGORITAM ABC]"); Thread t = new Thread(NewThread); t.Start(); }
public void prikazMj() { if (db.dajMjesta().Count > 0) { IspisUpisSG iu = IspisUpisSG.getInstance(); iu.print("\t\t***MJESTA***"); iu.print(iu.pofarbaj("crvena") + "\t[Naziv]\t\t[ID]\t[TIP]\t[Br.Senzora]\t[Br.Aktuatora]" + iu.pofarbaj("bijela")); foreach (Mjesto m in db.dajMjesta()) { iu.print(m.dohvatiNaziv() + "\t " + m.ID.ToString() + "\t " + m.dohvatiTip() + "\t\t" + m.dohvatiBrojSenzora() + "\t\t " + m.dohvatiBrojAktuatora()); } } }
public void prikazMjesta(int n) { IspisUpisSG iu = IspisUpisSG.getInstance(); foreach (Mjesto m in db.dajMjesta()) { if (m.ID == n) { iu.print(iu.pofarbaj("crvena") + "[NAZIV]\t\t\t[ID]\t[max BR.S][max BR.A] [BR.S][BR.A]" + iu.pofarbaj("bijela")); iu.print(m.naziv + "\t " + m.ID.ToString() + "\t\t" + m.broj_senzora.ToString() + "\t " + m.broj_aktuatora.ToString() + "\t " + m.ls.Count().ToString() + "\t" + m.la.Count().ToString()); } } }
public void prikazSparenih() { IspisUpisSG iu = IspisUpisSG.getInstance(); foreach (Mjesto m in db.dajMjesta()) { iu.print(iu.pofarbaj("zuta") + "[" + m.naziv.ToUpper() + "]" + iu.pofarbaj("bijela")); iu.print(" [TIP]\t [ID]\t[VRIJEDNOST]\t[ISPRAVNOST]\t\t[NAZIV]"); foreach (Senzor s in m.ls) { iu.print("Senzor\t " + s.ID.ToString() + "\t\t" + s.vrijednost.ToString() + "\t " + s.ispravnost.ToString() + "\t " + s.dohvatiNaziv()); } foreach (Aktuator s in m.la) { iu.print("Aktuator " + s.ID.ToString() + "\t\t" + s.vrijednost.ToString() + "\t " + s.ispravnost.ToString() + "\t " + s.dohvatiNaziv()); } } iu.print(""); iu.print("Ispis povezanih aktuatora i senzora"); foreach (Mjesto m in db.dajMjesta()) { iu.print(iu.pofarbaj("zuta") + "[" + m.naziv.ToUpper() + "]" + iu.pofarbaj("bijela")); foreach (Aktuator a in m.la) { iu.print("\t\t" + a.naziv.ToUpper()); iu.print(iu.pofarbaj("crvena") + "\t\t[ID Senzora]\t[Senzor]" + iu.pofarbaj("bijela")); foreach (Senzor s in a.lss) { iu.print("\t\t\t" + s.ID.ToString() + "\t" + s.naziv); } iu.print(""); } } }
private static void NewThread() { C_Parametri par = C_Parametri.getInstance(); Iterator i = new Iterator(); List <Mjesto> mjesta = new List <Mjesto>(); IspisUpisSG iu = IspisUpisSG.getInstance(); ListaSvegaSG ls = ListaSvegaSG.getInstance(); Statistika stat = new Statistika(); int TCD1 = par.dajTCD(); int brojac = 0; int bcd1 = 0; bcd1 = iu.bcdoer(); while (brojac < bcd1) { i.resetiraj(); mjesta = ls.dajMjesta(); mjesta.OrderBy(s => s.naziv); for (; i.dohvatiVrijednost() < mjesta.Count(); i.povecaj()) { iu.print2("[" + mjesta[i.dohvatiVrijednost()].naziv + "]" + " (ID " + mjesta[i.dohvatiVrijednost()].ID + ")"); Thread.Sleep(TCD1 * 1000); iu.print2(iu.pofarbaj("crvena") + "[SENZOR]\t\t\t[ID][ISPRAVNOST][VRIJEDNOST] [MIN/MAX][ZATAJIO]"); foreach (Senzor s in mjesta[i.dohvatiVrijednost()].ls.ToList()) { if (s.ispravnost == false) { s.manjkav++; } if (s.naziv.Length <= 7) { iu.print2(s.naziv + "\t\t\t\t" + s.ID.ToString() + " " + s.ispravnost + "\t\t" + s.vrijednost.ToString() + "\t" + s.min_vrijednost.ToString() + "/" + s.max_vrijednost.ToString() + "\t " + s.manjkav.ToString()); } else if (s.naziv.Length >= 8 && s.naziv.Length < 13) { iu.print2(s.naziv + "\t\t\t" + s.ID.ToString() + " " + s.ispravnost + "\t\t" + s.vrijednost.ToString() + "\t" + s.min_vrijednost.ToString() + "/" + s.max_vrijednost.ToString() + "\t " + s.manjkav.ToString()); } else { iu.print2(s.naziv.Substring(0, Math.Min(s.naziv.Length, 30)) + "\t\t" + s.ID.ToString() + " " + s.ispravnost + "\t\t" + s.vrijednost.ToString() + "\t" + s.min_vrijednost.ToString() + "/" + s.max_vrijednost.ToString() + "\t " + s.manjkav.ToString()); } /*iu.print2("\t\tIspravnost [" + s.ispravnost.ToString() + "]"); * iu.print2("\t\tStara Vrijednost : " + s.vrijednost.ToString() + s.komentar); * if (s.ispravnost) s.progresijaVrijednosti(); * iu.print2("\t\tNova Vrijednost : " + s.vrijednost.ToString() + s.komentar); * iu.print2("\t\tMin : " + s.min_vrijednost); * iu.print2("\t\tMax : " + s.max_vrijednost); * iu.print2("\t\tBroj zatajenja : " + s.manjkav.ToString() + " puta."); */ GenBrojevaSG gb = GenBrojevaSG.getInstance(); if (s.ispravnost && gb.dajSlucajniBroj(0, 10) > 6) { s.progresijaVrijednosti(); foreach (Aktuator a in ls.dajAktuatore()) { if (a.lss.Contains(s)) { s.notify(a); } } } if (s.manjkav >= 3 && !(s.uklonjen)) { ls.prijaviMjesto(mjesta[i.dohvatiVrijednost()].dohvatiNaziv()); ls.prijaviSenzor(s); iu.print2(""); iu.print2(iu.pofarbaj("crvena") + "=> Sklanja se senzor " + s.naziv); iu.print2(" iz mjesta " + mjesta[i.dohvatiVrijednost()].naziv + "]" + iu.pofarbaj("bijela")); //mjesta[i.dohvatiVrijednost()].ls.Remove(s); bool dobar = false; while (!dobar) { Senzor senz = (Senzor)s.kloniraj(s.naziv, s.tip, s.vrsta, s.min_vrijednost, s.max_vrijednost); senz.inicijaliziraj(); if (senz.ispravnost == true) { senz.generirajVrijednost(); senz.dodajID("s"); ls.dodajID(senz.ID); dobar = true; iu.print2(iu.pofarbaj("zelena") + "[Dodaje se senzor]"); if (senz.naziv.Length <= 7) { iu.print2(iu.pofarbaj("zelena") + senz.naziv + "\t\t\t\t" + senz.ID.ToString() + " " + senz.ispravnost + "\t\t" + senz.vrijednost.ToString() + "\t" + senz.min_vrijednost.ToString() + "/" + senz.max_vrijednost.ToString() + "\t " + senz.manjkav.ToString()); } else if (senz.naziv.Length >= 8 && senz.naziv.Length < 13) { iu.print2(iu.pofarbaj("zelena") + senz.naziv + "\t\t\t" + senz.ID.ToString() + " " + senz.ispravnost + "\t\t" + senz.vrijednost.ToString() + "\t" + senz.min_vrijednost.ToString() + "/" + senz.max_vrijednost.ToString() + "\t " + senz.manjkav.ToString()); } else { iu.print2(iu.pofarbaj("zelena") + senz.naziv.Substring(0, Math.Min(s.naziv.Length, 30)) + "\t\t" + senz.ID.ToString() + " " + senz.ispravnost + "\t\t" + senz.vrijednost.ToString() + "\t" + senz.min_vrijednost.ToString() + "/" + senz.max_vrijednost.ToString() + "\t " + senz.manjkav.ToString()); } } } } } iu.print2(iu.pofarbaj("crvena") + "[AKTUATOR]\t\t\t[ID][ISPRAVNOST][VRIJEDNOST] [MIN/MAX][ZATAJIO]"); foreach (Aktuator a in mjesta[i.dohvatiVrijednost()].la.ToList()) { if (a.ispravnost == false) { a.manjkav++; } if (a.naziv.Length <= 7) { iu.print2(a.naziv + "\t\t\t\t" + a.ID.ToString() + " " + a.ispravnost + "\t\t" + a.vrijednost.ToString() + "\t" + a.min_vrijednost.ToString() + "/" + a.max_vrijednost.ToString() + "\t " + a.manjkav.ToString()); } else if (a.naziv.Length >= 8 && a.naziv.Length < 13) { iu.print2(a.naziv + "\t\t\t" + a.ID.ToString() + " " + a.ispravnost + "\t\t" + a.vrijednost.ToString() + "\t" + a.min_vrijednost.ToString() + "/" + a.max_vrijednost.ToString() + "\t " + a.manjkav.ToString()); } else if (a.naziv.Length >= 13 && a.naziv.Length < 24) { iu.print2(a.naziv + "\t\t" + a.ID.ToString() + " " + a.ispravnost + "\t\t" + a.vrijednost.ToString() + "\t" + a.min_vrijednost.ToString() + "/" + a.max_vrijednost.ToString() + "\t " + a.manjkav.ToString()); } else { iu.print2(a.naziv.Substring(0, Math.Min(a.naziv.Length, 30)) + "\t" + a.ID.ToString() + " " + a.ispravnost + "\t\t" + a.vrijednost.ToString() + "\t" + a.min_vrijednost.ToString() + "/" + a.max_vrijednost.ToString() + "\t " + a.manjkav.ToString()); } /* * iu.print2("\tSenzor - " + a.naziv + " (ID " + a.ID.ToString() + ")"); * iu.print2("\t\tIspravnost [" + a.ispravnost.ToString() + "]"); * iu.print2("\t\tStara vrijednost : " + a.vrijednost.ToString() + a.komentar); * if (a.ispravnost) a.progresijaVrijednosti();// ako se dezignirani senzor promjenio * iu.print2("\t\tNova vrijednost : " + a.vrijednost.ToString() + a.komentar); * iu.print2("\t\tMin : " + a.min_vrijednost); * iu.print2("\t\tMax : " + a.max_vrijednost); * iu.print2("\t\tBroj zatajenja : " + a.manjkav.ToString() + " puta."); */ if (a.manjkav >= 3 && !(a.uklonjen)) { ls.prijaviMjesto(mjesta[i.dohvatiVrijednost()].dohvatiNaziv()); ls.prijaviAktuator(a); iu.print2(""); iu.print2(iu.pofarbaj("crvena") + "=> Sklanja se aktuator " + a.naziv); iu.print2(" iz mjesta " + mjesta[i.dohvatiVrijednost()].naziv + "]" + iu.pofarbaj("bijela")); //mjesta[i.dohvatiVrijednost()].la.Remove(a); bool dobar2 = false; while (!dobar2) { Aktuator senz = (Aktuator)a.kloniraj(a.naziv, a.tip, a.vrsta, a.min_vrijednost, a.max_vrijednost); senz.inicijaliziraj(); if (senz.ispravnost == true) { senz.generirajVrijednost(); senz.dodajID("a"); ls.dodajID(senz.ID); dobar2 = true; iu.print2(iu.pofarbaj("zelena") + "[Dodaje se aktuator]"); if (senz.naziv.Length <= 7) { iu.print2(iu.pofarbaj("zelena") + senz.naziv + "\t\t\t\t" + senz.ID.ToString() + " " + senz.ispravnost + "\t\t" + senz.vrijednost.ToString() + "\t" + senz.min_vrijednost.ToString() + "/" + senz.max_vrijednost.ToString() + "\t " + senz.manjkav.ToString()); } else if (senz.naziv.Length >= 8 && senz.naziv.Length < 13) { iu.print2(iu.pofarbaj("zelena") + senz.naziv + "\t\t\t" + senz.ID.ToString() + " " + senz.ispravnost + "\t\t" + senz.vrijednost.ToString() + "\t" + senz.min_vrijednost.ToString() + "/" + senz.max_vrijednost.ToString() + "\t " + senz.manjkav.ToString()); } else if (senz.naziv.Length >= 13 && senz.naziv.Length < 24) { iu.print2(iu.pofarbaj("zelena") + senz.naziv + "\t\t" + senz.ID.ToString() + " " + senz.ispravnost + "\t\t" + senz.vrijednost.ToString() + "\t" + senz.min_vrijednost.ToString() + "/" + senz.max_vrijednost.ToString() + "\t " + senz.manjkav.ToString()); } else { iu.print2(iu.pofarbaj("zelena") + senz.naziv.Substring(0, Math.Min(senz.naziv.Length, 30)) + "\t" + senz.ID.ToString() + " " + senz.ispravnost + "\t\t" + senz.vrijednost.ToString() + "\t" + senz.min_vrijednost.ToString() + "/" + senz.max_vrijednost.ToString() + "\t " + senz.manjkav.ToString()); } //iu.print2(senz.naziv + " (ID " + senz.ID.ToString() + ", Vrijednost : " + senz.vrijednost.ToString() + ") u mjesto " + mjesta[i.dohvatiVrijednost()].naziv + "]"); mjesta[i.dohvatiVrijednost()].la.Add(senz); } } } } brojac++; iu.print2(""); iu.print2("[" + brojac.ToString() + @"\" + bcd1.ToString() + "]"); if (brojac >= bcd1) { break; } } } iu.print("Provjera gotova."); iu.postaviNaKomandu(); }
public void spari() { int c = 0; try { List <Mjesto> lm = db.dajMjesta(); List <Senzor> ls = db.dajSenzore(); List <Aktuator> la = db.dajAktuatore(); string[] linije = System.IO.File.ReadAllLines(filename); foreach (string l in linije) { if (c > 2) { string[] splitano = l.Split(';'); try { if (Int32.Parse(splitano[0]) == 0) { foreach (Mjesto m in lm) { if (m.ID == Int32.Parse(splitano[1])) { if (Int32.Parse(splitano[2]) == 1) { //aktuator if (m.broj_aktuatora > m.la.Count()) { foreach (Aktuator a in la) { if (a.ID == Int32.Parse(splitano[3])) { Aktuator b = (Aktuator)a.kloniraj(a.naziv, a.tip, a.vrsta, a.min_vrijednost, a.max_vrijednost); b.inicijaliziraj(); b.generirajVrijednost(); b.dodijeliID(Int32.Parse(splitano[4])); if (b.tip == m.tip || b.tip == 2) { m.la.Add(b); } else { iu.print("Tip aktuatora " + b.naziv + " ne paše mjestu " + m.naziv + "!"); } } } } else { iu.print(iu.pofarbaj("crvena") + "***" + m.naziv + " ima max.broj aktuatora.***" + iu.pofarbaj("bijela")); } } if (Int32.Parse(splitano[2]) == 0) { //senzor if (m.broj_senzora > m.ls.Count()) { foreach (Senzor a in ls) { if (a.ID == Int32.Parse(splitano[3])) { Senzor b = (Senzor)a.kloniraj(a.naziv, a.tip, a.vrsta, a.min_vrijednost, a.max_vrijednost); b.inicijaliziraj(); b.generirajVrijednost(); b.dodijeliID(Int32.Parse(splitano[4])); if (b.tip == m.tip || b.tip == 2) { m.ls.Add(b); } else { iu.print("Tip senzora " + b.naziv + " ne paše mjestu " + m.naziv + "!"); } } } } else { iu.print(iu.pofarbaj("crvena") + "***" + m.naziv + " ima max.broj senzora.***" + iu.pofarbaj("bijela")); } } } } } if (Int32.Parse(splitano[0]) == 1) { foreach (Mjesto m in lm) { foreach (Aktuator a in m.la) { if (Int32.Parse(splitano[1]) == a.ID) { string[] senzori = splitano[2].Split(','); foreach (string snz in senzori) { foreach (Senzor s in m.ls) { if (s.ID == Int32.Parse(snz)) { a.lss.Add(s); } } } } } } } db.aktualizirajMjesta(lm); } catch (Exception e) { //iu.print(e.ToString()); iu.print("[Greška!] Došlo je do greške pri raspoređivanju uređaja."); iu.print("Redak : " + l); }; } c++; } } catch (Exception) { iu.print(" [Raspored] Datoteka s nazivom '" + filename + "' ne postoji. Završetak rada."); } }