private Boolean CheckParameters(ModelControl control) // sprawdza czy mamy juz 2 odpowiadajace sobie jednostki, { //od Gienerała i od LRM, jesli tak, zestawiamy polaczenie int f1, f2; //generalnie zwraca je. Console.WriteLine("CheckParameters: szukam dla snpp: {0}", control.snnpB); foreach (String s in Komutator.connTable) { if ((s.Substring(0, 2).Equals(control.snnpB)) || s.Substring(2, 2).Equals(control.snnpB)) { f1 = Convert.ToInt32(s.Substring(4, 2)); f2 = Convert.ToInt32(s.Substring(6, 2)); for (int i = f1; i < f2; i++) //wpisz zajete lambdy { listaZajetosciLambd.Add(i); } } } listaZajetosciLambd.Sort(); // sortuje, żeby sens mialo dalsze poszukiwanie Boolean git = true; foreach (int s in listaZajetosciLambd) { if ((s <= Convert.ToInt32(control.f1O) && s >= Convert.ToInt32(control.f1I) || (s <= Convert.ToInt32(control.f2O) && s >= Convert.ToInt32(control.f2I)))) { git = false; //jezeli znajdzie konflikt to false. } } listaZajetosciLambd.Clear(); //czyszczenie listy, gdyz sprawdzanie odbywa sie kazdorazowo return(git); }
private void Connect(ModelControl control) { int snnpA = Convert.ToInt32(control.snnpA); int snnpB = Convert.ToInt32(control.snnpB); int f1I = Convert.ToInt32(control.f1I); int f1O = Convert.ToInt32(control.f1O); kom.SetConnect(snnpA, snnpB, f1I, f1O, ++Agent.connections); // jako id polaczenia podawane jest connections zabrane ze zwyklego agenta, ale zwiekszone o 1 zeby liczba polaczen sie zgadzala if (control.konwersja == true) { kom.SetConversion(control.f2I, control.f2O, Agent.connections); } }
private void Disconnect(String[] tab) { int id = Convert.ToInt32(tab[1]); int snnpA, f1; ModelControl s = Locate(id); if (!s.id.Equals("0")) // czyli ze znalazl, to dzialaj { snnpA = Convert.ToInt32(Locate(id).snnpA); f1 = Convert.ToInt32(Locate(id).f1I); kom.Disconnect(snnpA, f1); communicationT.Send_Text(ProtokolControl.DISCONN_R + " " + id, Network.outputControl); } else { communicationT.Send_Text(ProtokolControl.DISCONN_F + " " + id, Network.outputControl); } }
private Boolean CreateControl(String digitsT) { String id = ""; String snppA = ""; String snppB = ""; String band = ""; ModelControl control = null; id = digitsT.Substring(0, 2); snppA = digitsT.Substring(2, 2); snppB = digitsT.Substring(4, 2); band = digitsT.Substring(6, 2); if (!SelectSNP(snppB, band).Equals("00")) { control = new ModelControl(id, snppA, snppB, band); ControlList.Add(control); return(true); } return(false); }
private Boolean CreateControl(String[] tab) { String id = ""; String linkA = ""; String linkB = ""; String f1I = ""; String f2I = ""; String f1O = ""; String f2O = ""; ModelControl control = null; String snnpA = "", snnpB = ""; linkA = tab[1]; linkB = tab[2]; f1I = tab[3]; f2I = tab[4]; f1O = tab[5]; f2O = tab[6]; id = tab[7]; snnpA = zasoby.GetSnnpId(linkA); snnpB = zasoby.GetSnnpId(linkB); control = new ModelControl(id, snnpA, snnpB, f1I, f2I, f1O, f2O); if (CheckParameters(control)) { communicationT.Send_Text(ProtokolControl.CONN_R + " " + id, Network.outputControl); Connect(control); ControlList.Add(control); return(true); } else { communicationT.Send_Text(ProtokolControl.CONN_F + " " + id, Network.outputControl); return(false); } }