Exemplo 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();
            }
        }
Exemplo 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();
     }
 }
Exemplo n.º 3
0
 public Guid AddUser(string userName)
 {
     lock (syncRoot)
     {
         if (ActiveUsers.Count(entry => entry.Value.Item1 == userName) == 0)
         {
             Guid guid = Guid.NewGuid();
             ActiveUsers.Add(guid, new Tuple <string, DateTime>(userName, DateTime.Now));
             return(guid);
         }
         else
         {
             ActiveUsers.RefreshUser(userName);
             return(ActiveUsers.Where(entry => entry.Value.Item1 == userName).First().Key);
         }
     }
 }
 public string GetUserNameByGuid(Guid guid)
 {
     return(ActiveUsers.Where(entry => entry.Key == guid).FirstOrDefault().Value.Item1);
 }