Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Freelancers.Infrastructure;
- using Freelancers.Infrastructure.Helpers;
- using Freelancers.Model;
- using Freelancers.Services.Interfaces;
- namespace Freelancers.UI.Helpers
- {
- public class SessionHelper : ISessionHelper
- {
- private const string AuthenticatedUserKey = "AuthenticatedUser";
- private readonly IUserService _userService;
- public SessionHelper(IUserService userService)
- {
- _userService = userService;
- }
- public User AuthenticatedUser()
- {
- var httpContext = HttpContextFactory.Current;
- Ensure.NotNull(httpContext, "httpContext");
- if (httpContext.Session != null)
- {
- var currentUser = (User) httpContext.Session[AuthenticatedUserKey];
- if (currentUser == null && httpContext.User.Identity.IsAuthenticated)
- {
- currentUser = _userService.GetUser(httpContext.User.Identity.Name);
- httpContext.Session[AuthenticatedUserKey] = currentUser;
- }
- return currentUser;
- }
- return null;
- }
- public void Clear()
- {
- var httpContext = HttpContextFactory.Current;
- Ensure.NotNull(httpContext, "httpContext");
- if (httpContext.Session != null)
- httpContext.Session.Clear();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment