Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
 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);
         }
     });
 }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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");
            }
        }