private void RecordLoginSucceeded(User user) { var userRoles = _roleMemberRepository.GetAllBy(m => m.UserId == user.Id).Select(r => r.RoleId).ToList(); var permissions = _rolePermissionRepository.GetAllBy(r => userRoles.Contains(r.RoleId), "Permission").Select(p => p.Permission.PermissionCode).ToList(); var userInfo = UserInfo.GetInstance(user, permissions); HttpSessionWrapper.SetUserInfo(user.Code, userInfo); var serializeModel = new PrincipalModel(user.Code); var serializer = new JavaScriptSerializer(); var userData = serializer.Serialize(serializeModel); var authTicket = new FormsAuthenticationTicket(1, user.Code, DateTime.Now, DateTime.Now.AddHours(2), false, userData); var eticket = FormsAuthentication.Encrypt(authTicket); var fcookie = new HttpCookie(FormsAuthentication.FormsCookieName, eticket); Response.Cookies.Add(fcookie); // Update Last Login Time if (user.AccessRule != null) { user.AccessRule.LastLoginDate = DateTime.UtcNow; user.AccessRule.LastActivityDate = DateTime.UtcNow; user.AccessRule.PasswordFailuresSinceLastSuccess = 0; user.AccessRule.LastLoginDate = user.AccessRule.LastActivityDate = DateTime.UtcNow; _userRepository.Update(user); _unitOfWork.Commit(); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!IsPostBack) { if (LoggedInUserId != null) { var ids = _memberContactsQuery.GetFirstDegreeContacts(LoggedInUserId.Value, PersonalVisibility.SendMessages); var names = _membersQuery.GetFullNames(ids); //Initialise friends collection for Ajax drop down var sessWrapper = new HttpSessionWrapper(typeof(GetSuggestedContacts), Session); sessWrapper.SetValue(GetSuggestedContacts.SessionKey, names); } } }
protected override IList <string> GetSuggestionList(HttpContext context, int maxResults) { if (GetMemberId(context) == null) { return(null); } var fragment = context.Request.Params["name"]; var sessWrapper = new HttpSessionWrapper(GetType(), context.Session); var names = (IList <string>)sessWrapper.GetValue(SessionKey); if (names.IsNullOrEmpty()) { return(null); } return(names.GetNames(fragment)); }