private void handleData(byte[] data, string port) { try { MessageBase msg = JsonSerializer.Deserialize <MessageBase>(new ReadOnlySpan <byte>(data)); if (msg.Type == "LoadContract") { LoadMessage lmsg = JsonSerializer.Deserialize <LoadMessage>(new ReadOnlySpan <byte>(data)); if (lmsg.Data != "") { contractLoadingThread.addTask(lmsg, port); } } if (msg.Type == "RecordRequest") { GetRecordMessage grmsg = JsonSerializer.Deserialize <GetRecordMessage>(new ReadOnlySpan <byte>(data)); ServerLogger.Instance.writeLog($"Server: {grmsg.Type}, route: {grmsg.Route}"); List <byte[]> res = RouteContainer.Instance.getDataByRoute(grmsg.Route); send <GetRecordMessage>(port, new GetRecordMessage(grmsg.Route, new byte[0], true)); foreach (byte[] item in res) { send <GetRecordMessage>(port, new GetRecordMessage(grmsg.Route, item, false)); } } } catch (Exception ex) { ServerLogger.Instance.writeLog($"Server error: {ex.StackTrace}\n {ex.Message}"); send <ErrorMessage>(port, new ErrorMessage(ex.Message)); } }
public void handleMessage(MessageBase message, string type) { Invoke((MethodInvoker) delegate { if (type == "RecordRequest") { GetRecordMessage grmsg = (GetRecordMessage)message; string baseRoute = grmsg.Route.Substring(0, grmsg.Route.LastIndexOf('/')); if (Route == baseRoute) { if (grmsg.IsFirst) { currentGrid.Rows.Clear(); currentRows.Clear(); } else { currentGrid.AddToGrid(grmsg.Record); currentRows.Add(currentGrid.Rows[currentGrid.Rows.Count - 1]); } } } else if (type == "DataChanged") { GetRecordMessage msg = new GetRecordMessage($"{Route}/{Label}", new byte[0], false); TcpClientWrapper.Instance.send <GetRecordMessage>(msg); } }); }
protected void listView1_DoubleClick(object sender, EventArgs e) { if (TcpClientWrapper.Instance.isConnected() && listView1.SelectedItems.Count > 0) { splitContainer2.Panel2.Controls.Remove(currentGrid); Label = (string)listView1.SelectedItems[0].Tag; foreach (var grid in dataGrids) { if (listView1.SelectedItems.Count > 0 && Label == grid.Id) { splitContainer2.Panel2.Controls.Add(grid); currentGrid = grid; break; } } GetRecordMessage msg = new GetRecordMessage($"{Route}/{Label}", new byte[0], false); TcpClientWrapper.Instance.send <GetRecordMessage>(msg); } }
private void handleData(byte[] data, ClientView view) { try { MessageBase msg = JsonSerializer.Deserialize <MessageBase>(new ReadOnlySpan <byte>(data)); if (msg.Type == "ErrorMessage") { ErrorMessage ermsg = JsonSerializer.Deserialize <ErrorMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(ermsg, msg.Type); } if (msg.Type == "LoadContract") { LoadMessage lmsg = JsonSerializer.Deserialize <LoadMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(lmsg, msg.Type); } if (msg.Type == "ProgressInfo") { ProgressInfoMessage pimsg = JsonSerializer.Deserialize <ProgressInfoMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(pimsg, msg.Type); } if (msg.Type == "RecordRequest") { GetRecordMessage grmsg = JsonSerializer.Deserialize <GetRecordMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(grmsg, msg.Type); } if (msg.Type == "DataChanged") { DatabaseChangedMessage dbcmsg = JsonSerializer.Deserialize <DatabaseChangedMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(dbcmsg, msg.Type); } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); ErrorMessage ermsg = new ErrorMessage(ex.StackTrace); view.handleMessage(ermsg, "ErrorMessage"); } }