/// <summary> /// Gets the current user. /// </summary> /// <param name="userIsOnline">if set to <c>true</c> [user is online].</param> /// <returns></returns> public static User GetCurrentUser(bool userIsOnline) { string userName = User.GetCurrentUserName(); if (userName != string.Empty) { if (userName.StartsWith("rckipid=")) { Rock.CRM.PersonService personService = new CRM.PersonService(); Rock.CRM.Person impersonatedPerson = personService.GetByEncryptedKey(userName.Substring(8)); if (impersonatedPerson != null) { return(impersonatedPerson.ImpersonatedUser); } } else { UserService userService = new UserService(); User user = userService.GetByUserName(userName); if (user != null && userIsOnline) { user.LastActivityDate = DateTime.Now; userService.Save(user, null); } return(user); } } return(null); }