//private Display.ClsKommunikation ddk = new Display.ClsKommunikation(); protected override void OnMessage(MessageEventArgs e) { try { var name = this.Context.QueryString["name"]; if (e.IsBinary && this.loggedon) { byte[] bytearr = e.RawData; File.WriteAllBytes(this.binPfad, bytearr); if (this.binTyp == "Bild") { // Bildliste senden string ret = ClsRequests.DataRequest(new ClsCommand(command: "PictureList")); this.SendAsync(ret, null); } if (this.binTyp == "Font") { // Fontliste senden string ret = ClsRequests.DataRequest(new ClsCommand(command: "FontList")); this.SendAsync(ret, null); } if (this.binTyp == "Audio") { // Audiofileliste senden string ret = ClsRequests.DataRequest(new ClsCommand(command: "AudioFileList")); this.SendAsync(ret, null); } return; } string x = !name.IsNullOrEmpty() ? String.Format("\"{0}\" to {1}", e.Data, name) : e.Data; GlobalServerEvents.Fire_GotMessage(this, new ClsStringEventArgs(x)); ClsCommand rb = new JavaScriptSerializer().Deserialize <ClsCommand>(e.Data); if (rb.Command == "strPic") { this.binTyp = "Bild"; this.binPfad = Folder(rb.Value1, @"pictures\" + rb.Value2); return; } if (rb.Command == "strFont") { this.binTyp = "Font"; this.binPfad = Folder(rb.Value1, "fonts"); return; } if (rb.Command == "strSnd") { this.binTyp = "Audio"; this.binPfad = Folder(rb.Value1, "sounds"); return; } if (rb.Domain == "AN") { if (rb.Command == "allVarValues") { List <ClsTextVariabeln> tvl = ClsDBVariablen.Instance.GetAllTextVariablen(); for (int i = 0; i < tvl.Count; i++) { GlobalServerEvents.SendMessage("server", new ClsStringEventArgs(ClsVarCom.UpdateDivContentStr(tvl[i].ID, tvl[i].Wert))); } } } if (rb.Type == "req") { string ret = ClsRequests.DataRequest(rb); //int z = 0; do { //z++; //if (z > 10000) //{ // throw new Exception("Connection not open"); //} } while (this.State != WebSocketState.Open); this.SendAsync(ret, null); } else if (rb.Type == "logon") // Anmeldung { //string user = Core.DBControler.ClsOptionsControler.Options3("UserName").Value; string pwd = Core.DBControler.ClsOptionsControler.Password("Password"); if (pwd == rb.Value1) { this.loggedon = true; } ClsCommand cmd = new ClsCommand(); cmd.Domain = "loggedon"; cmd.Value1 = this.loggedon.ToString(); this.SendAsync(new JavaScriptSerializer().Serialize(cmd), null); return; } else if (rb.Type == "loggedon") // Fragen ob angemeldet { ClsCommand cmd = new ClsCommand(); cmd.Domain = "loggedon"; cmd.Value1 = this.loggedon.ToString(); this.SendAsync(new JavaScriptSerializer().Serialize(cmd), null); return; } else { if (!this.loggedon) { ClsCommand cmd = new ClsCommand(); cmd.Command = "nologgedon"; this.SendAsync(new JavaScriptSerializer().Serialize(cmd), null); return; } ClsCommands.Command(rb); } } catch (Exception) { } }
private void ZeitAusloeser(object sender, ClsObjectEventArgs e) { Timerevent TimerEvent = (Timerevent)e.ObjectArgument; switch (TimerEvent.Eventtype) { case 0: { // Timer stoppen this.ClockStop(TimerEvent.TimerNr); GlobalServerEvents.SendMessage(null, new ClsStringEventArgs(ClsRequests.DataRequest(new ClsCommand(command: "TimerObjects")))); break; } case 1: { // anderen Timer starten if (TimerEvent.AndereTimerNr > 0) { this.ClockStart(TimerEvent.AndereTimerNr); GlobalServerEvents.SendMessage(null, new ClsStringEventArgs(ClsRequests.DataRequest(new ClsCommand(command: "TimerObjects")))); } break; } case 2: { // anderen Timer stoppen if (TimerEvent.AndereTimerNr > 0) { this.ClockStop(TimerEvent.AndereTimerNr); GlobalServerEvents.SendMessage(null, new ClsStringEventArgs(ClsRequests.DataRequest(new ClsCommand(command: "TimerObjects")))); } break; } case 3: { // Audio abspielen ClsSoundplayer.Instance.TPlay(TimerEvent.Soundfile + "|" + 75); break; } case 4: { // Layer wechsel if (!string.IsNullOrEmpty(TimerEvent.Layer)) { long id = Convert.ToInt64(TimerEvent.Layer); DisplayPageSet ps = (from x in ClsDisplayControler.DisplayPageSets() where x.ID == ClsPageSets.ActivePageSet() select x).FirstOrDefault(); // prüfen ob ID tatsächlich noch existiert long p = (from x in ClsDisplayControler.DisplayPagesForPageSet(ps.ID) where x.ID == id select x.ID).FirstOrDefault(); if (p != 0) { ClsDisplay.SetPage(ClsPageSets.ActivePageSet(), (int)p); GlobalServerEvents.SendMessage(null, new ClsStringEventArgs(ClsRequests.DataRequest(new ClsCommand(command: "ActivePage")))); GlobalServerEvents.SendMessage(null, new ClsStringEventArgs(ClsRequests.DataRequest(new ClsCommand(command: "DivsActivePage", pageSet: ps.PageSetName, page: p.ToString())))); } } break; } } }