private void OnReceiveInventoryMessage(object sender, EventArgs args) { CommMessage compressMessage = (CommMessage)((RealtimeDataEventArgument)args).Data; CommMessage message = compressMessage.ExtractZipTypeMessage(); int pos = 0; int dictCount = SerializingHelper.DecodingInt32(message.Data, ref pos); for (int i = 0; i < dictCount; i++) { string viaKeys = SerializingHelper.DecodingString(message.Data, ref pos); if (viaKeys.Contains("ATD")) { int count = SerializingHelper.DecodingInt32(message.Data, ref pos); for (int j = 0; j < count; j++) { string custId = SerializingHelper.DecodingString(message.Data, ref pos); int sCount = SerializingHelper.DecodingInt32(message.Data, ref pos); m_clientSessionDict.TryAdd(custId, new ConcurrentDictionary <string, byte[]>()); for (int k = 0; k < sCount; k++) { string sAccount = SerializingHelper.DecodingString(message.Data, ref pos); byte[] data = SerializingHelper.DecodingByteArray(message.Data, ref pos, 16); //session la 16 byte m_clientSessionDict[custId].TryAdd(sAccount, data); } } } } }
private void OnReceiveOrderMessage(object sender, EventArgs args) { //if (sender == m_authenClient) { CommMessage message = (CommMessage)((RealtimeDataEventArgument)args).Data; int pos = 1; switch ((OrderMessageCommand)message.Data[0]) { case OrderMessageCommand.SESSIONID_UPDATE: string viaKeys = SerializingHelper.DecodingString(message.Data, ref pos); string customerID = SerializingHelper.DecodingString(message.Data, ref pos); string sessionAccount = SerializingHelper.DecodingString(message.Data, ref pos); byte[] sessionData = SerializingHelper.DecodingByteArray(message.Data, ref pos, 16); if (viaKeys.Contains("ATD")) { if (!m_clientSessionDict.ContainsKey(customerID)) { m_clientSessionDict.TryAdd(customerID, new ConcurrentDictionary <string, byte[]>()); } if (!m_clientSessionDict[customerID].ContainsKey(sessionAccount)) { m_clientSessionDict[customerID].TryAdd(sessionAccount, sessionData); } } break; } } }