Inheritance: LoginRequestMessage
Example #1
0
 private EmptyMessage HandleLoginInfoChange(LoginInfoChangeMessage msg)
 {
     m_logger.DebugFormat("Changing login info at request of client, User {0} moving from {1} to {2}", msg.Username, msg.FromSession, msg.ToSession);
     lock (m_sessionPropertyCache)
     {
         if (m_sessionPropertyCache.Exists(msg.FromSession))
         {
             m_sessionPropertyCache.Add(msg.ToSession, m_sessionPropertyCache.Get(msg.FromSession));
             m_sessionPropertyCache.Remove(msg.FromSession);
         }
     }
     return new EmptyMessage(MessageType.Ack);
 }
Example #2
0
 private EmptyMessage HandleLoginInfoChange(LoginInfoChangeMessage msg)
 {
     m_logger.DebugFormat("Changing login info at request of client, User {0} moving from {1} to {2}", msg.Username, msg.FromSession, msg.ToSession);
     lock (m_sessionPropertyCache)
     {
         if (m_sessionPropertyCache.Exists(msg.FromSession))
         {
             if (msg.ToSession != -1)
             {
                 m_sessionPropertyCache.Add(msg.ToSession, m_sessionPropertyCache.Get(msg.FromSession));
                 m_sessionPropertyCache.Remove(msg.FromSession);
             }
             else
             {
                 List<SessionProperties> props = m_sessionPropertyCache.Get(msg.FromSession);
                 for (int x = props.Count-1; x >= 0 ; x--)
                 {
                     UserInformation uInfo = props[x].GetTrackedSingle<UserInformation>();
                     if (uInfo.Username.Equals(msg.Username, StringComparison.CurrentCultureIgnoreCase))
                     {
                         if (x == 0)
                         {
                             m_sessionPropertyCache.Remove(msg.FromSession);
                             break;
                         }
                         else
                         {
                             props.RemoveAt(x);
                             m_sessionPropertyCache.Add(msg.FromSession, props);
                         }
                     }
                 }
             }
         }
     }
     return new EmptyMessage(MessageType.Ack);
 }