//Gibt 2 Integer zurück: //Erster integer gibt ampelID zurück //Zweiter integer gibt die Sekunden der Grünphase zurück public void getGruenPhase(int ampelid) { OperationContext ctx = OperationContext.Current; IAmpelCallback answer = OperationContext.Current.GetCallbackChannel <IAmpelCallback>(); answer.OnNewMessage(ampelid + " " + Trafficlights.ElementAt(ampelid - 1).getGruenPhase()); }
//Gibt 2 Integer zurück: //Erster integer gibt ampelID zurück //Zweiter integer gibt Status der Ampel zurück public void getAmpelStatus(int ampelid) { int AmpelStatus; OperationContext ctx = OperationContext.Current; IAmpelCallback answer = OperationContext.Current.GetCallbackChannel <IAmpelCallback>(); if (ampelid == 0) { for (int i = 0; i < Trafficlights.Count; i++) { AmpelStatus = Trafficlights.ElementAt(i).getStatus(); answer.OnNewMessage(Trafficlights.ElementAt(i).getID() + " " + AmpelStatus.ToString()); } } else { AmpelStatus = Trafficlights.ElementAt(ampelid - 1).getStatus(); answer.OnNewMessage(Trafficlights.ElementAt(ampelid - 1).getID() + " " + AmpelStatus.ToString()); } }
//Gibt integer und boolean zurück: //integer ist die AmpelID //true - Ampel Funktioniert, false - Ampel ausgeschaltet public void getAmpelAusfall(int ampelid) { OperationContext ctx = OperationContext.Current; IAmpelCallback answer = OperationContext.Current.GetCallbackChannel <IAmpelCallback>(); bool Ausgeschalten = false; if (ampelid == 0) { for (int i = 0; i < Trafficlights.Count; i++) { Ausgeschalten = Trafficlights.ElementAt(i).getDefect(); if (Ausgeschalten) { answer.OnNewMessage(Trafficlights.ElementAt(i).getID() + " false"); } else { answer.OnNewMessage(Trafficlights.ElementAt(i).getID() + " true"); } } } else { Ausgeschalten = Trafficlights.ElementAt(ampelid - 1).getDefect(); if (Ausgeschalten) { int ausgabe = ampelid - 1; answer.OnNewMessage(ausgabe + " false"); } else { int ausgabe = ampelid - 1; answer.OnNewMessage(ausgabe + " true"); } } }