Esempio n. 1
0
        void SetCurrentUser(DbUser user)
        {
            if (user == null)
            {
                ClearCurrentUser(true);
            }
            else
            {
                var deadLogins = ActiveUsers.Where(u => u.Spid == SPID).ToArray();
                if (deadLogins.Length > 0)
                {
                    ActiveUsers.RemoveRange(deadLogins);
                }

                if (IsWebContext)
                {
                    user.LastOnlineWeb = this.Now;
                }
                else
                {
                    user.LastOnlineDesktop = this.Now;
                }

                if (!IsWebContext)
                {
                    ActiveUsers.Add(new DbActiveUser(user, this));
                }

                currentUser = user;

                SetCurrentUserTimeStamp(true);

                resetUserIsAdmin();
            }
        }
Esempio n. 2
0
 void ClearCurrentUser(bool saveChanges)
 {
     if (currentUser != null)
     {
         var toRemove = ActiveUsers.Where(u => u.Spid == SPID).ToArray();
         if (toRemove.Length > 0)
         {
             ActiveUsers.RemoveRange(toRemove);
         }
         SetCurrentUserTimeStamp(saveChanges);
         currentUser = null;
         resetUserIsAdmin();
     }
 }