Example #1
0
        void HandleMessage(MdvrMessageBase message, DeviceClient client)
        {
            var db = new LisconDbEntities();

            client.Runtime.GpsTime   = message.MessageTime;
            client.Runtime.Latitude  = message.LocationAndStatus.Location.Latitude;
            client.Runtime.Longitude = message.LocationAndStatus.Location.Longitude;

            if (message is V101Message)
            {
                HandleV101Message((V101Message)message, client, db);
            }
            else if (message is V114Message)
            {
                HandleV114Message((V114Message)message, client, db);
            }
            else if (message is V201Message)
            {
                HandleV201Message((V201Message)message);
            }
            else if (message is V251Message)
            {
                HandleV251Message((V251Message)message);
            }

            DeviceRuntimeBL.Update(client.Runtime, db);

            ClientRuntimeUpdated?.Invoke();
        }
Example #2
0
        void SendResponse(MdvrMessageBase message, params string[] responseArgs)
        {
            if (Clients.ContainsKey(message.DevIDNO) == false)
            {
                return;
            }

            Task.Run(() =>
            {
                var client  = Clients[message.DevIDNO];
                var argList = CreateBaseCommandArgList(MdvrMessageTypes.C100,
                                                       message.DevIDNO,
                                                       message.MessageKey,
                                                       message.MessageTime.ToString(MdvrMessageHelper.DateTimeStringFormat));

                if (responseArgs != null)
                {
                    for (int i = 0; i < responseArgs.Length; i++)
                    {
                        argList.Add(responseArgs[i]);
                    }
                }

                SendMessage(client.EndPoint, argList);
            });
        }
Example #3
0
        private void _messageReader_MessageReceived(MdvrMessageBase message)
        {
            if (message.MessageKey == MdvrMessageTypes.V102)
            {
                HandleV102Message((V102Message)message);
            }

            MessageReceived?.Invoke(this, message);
        }
Example #4
0
 private void Client_MessageReceived(object sender, MdvrMessageBase message)
 {
     if (message.MessageKey == MdvrMessageTypes.V102)
     {
         var client = sender as MediaClient;
         if (Clients.TryAdd(message.DevIDNO, client) == true)
         {
             ClientConnected?.Invoke(message.DevIDNO);
         }
     }
     else
     {
         throw new NotImplementedException();
     }
 }