public FetchedUserViewModel GetUserByUserName(string userName)
        {
            using (UserRepository _userRepository = new UserRepository())
            {
                var user = _userRepository.First(r => r.UserName == userName);
                if (user == null)
                {
                    return(null);
                }
                FetchedUserViewModel fetchedUserViewModel = new FetchedUserViewModel
                {
                    UserId                 = user.Id,
                    ThumbImage             = user.ThumbImage,
                    Email                  = user.Email,
                    UserName               = user.UserName,
                    FullName               = user.FullName,
                    PasswordHash           = user.PasswordHash,
                    Status                 = user.Status,
                    FailedLoginAttempts    = user.FailedLoginAttempts,
                    lockedDate             = user.LockedDate,
                    LastPasswordChangeDate = user.LastPasswordChangeDate,
                    IsActive               = user.IsActive,
                    UserTypeId             = user.EntityId
                };

                return(fetchedUserViewModel);
            }
        }
Beispiel #2
0
        public void SetBaseSession(FetchedUserViewModel fetchedUserViewModel)
        {
            UserManager _userManager = new UserManager();

            if (fetchedUserViewModel != null)
            {
                SessionHelper = new SessionHelper
                {
                    LoggedUserInfo = new LoggedUserInfo
                    {
                        UserId              = fetchedUserViewModel.UserId,
                        FullName            = fetchedUserViewModel.FullName.Trim(),
                        ThumbImage          = fetchedUserViewModel.ThumbImage,
                        Email               = fetchedUserViewModel.Email,
                        Roles               = fetchedUserViewModel.Roles,
                        UserAccessList      = fetchedUserViewModel.UserAccessList,
                        SessionId           = fetchedUserViewModel.SessionId,
                        SecurityStamp       = fetchedUserViewModel.PasswordHash,
                        LawFirm             = fetchedUserViewModel.LawFirm,
                        LawFirm_ID          = fetchedUserViewModel.LawFirm_ID,
                        SelectedDashboardID = fetchedUserViewModel.DefaultDashboardID,
                        RoleAppActivityList = fetchedUserViewModel.RoleAppActivityList,
                        //SelectedDashboardID = CommonHelper.GetLoggedInUserDashboard(fetchedUserViewModel.UserTypeId),
                        AccessDashboardPages = fetchedUserViewModel.UserAccessList != null?fetchedUserViewModel.UserAccessList
                                               .Select(x => new AccessDashboardViewModel()
                        {
                            ID                  = x.Rights,
                            Name                = x.AccessDashboard.Name,
                            SortOrder           = x.AccessDashboard.SortOrder,
                            IsActive            = x.AccessDashboard.IsActive,
                            Description         = x.AccessDashboard.Description,
                            AcessDashboardPages = x.AccessDashboard.AcessDashboardPages.Select(y => new AccessDashboardPageViewModel()
                            {
                                ID          = y.ID,
                                Name        = y.Name,
                                Description = y.Description,
                                IsActive    = y.IsActive,
                                PageURL     = y.PageURL,
                                IsDropdown  = y.IsDropdown,
                                SortOrder   = y.SortOrder,
                                DashboardID = y.DashboardID,
                                ImageURL    = y.ImageURL,
                            }).ToList(),
                        }).ToList() : new List <AccessDashboardViewModel>(),
                    }
                };
            }
            Session["User"] = SessionHelper;
        }
Beispiel #3
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            UserManager _userManager = new UserManager();

            if (Session["User"] == null)
            {
                if ((((System.Web.Mvc.ControllerContext)(filterContext)).Controller.ControllerContext.RouteData.Values["action"].ToString() == "Index" && ((System.Web.Mvc.ControllerContext)(filterContext)).Controller.ControllerContext.RouteData.Values["controller"].ToString() == "Home") && filterContext.ActionParameters["userid"] != null)
                {
                    if (filterContext.ActionParameters["userid"] != null)
                    {
                        FetchedUserViewModel user = _userManager.GetUserById((int)filterContext.ActionParameters["userid"]);
                        SetBaseSession(user);
                    }
                }
                else if ((((System.Web.Mvc.ControllerContext)(filterContext)).Controller.ControllerContext.RouteData.Values["action"].ToString() == "UnderConstruction" && ((System.Web.Mvc.ControllerContext)(filterContext)).Controller.ControllerContext.RouteData.Values["controller"].ToString() == "Common"))
                {
                    filterContext.Result = RedirectToAction("Index", "UnderMaintanance");
                }
                else
                {
                    filterContext.Result = RedirectToAction("SessionExpired", "Session", new { area = "", @returnUrl = HttpContext.Request.RawUrl, siteKeyword = Convert.ToString(Session["siteKeyword"]) });
                }
            }
            else
            {
                SessionHelper = (SessionHelper)Session["User"];
                if (_userManager.IsSessionExits(SessionHelper.LoggedUserInfo.UserId, SessionHelper.LoggedUserInfo.SessionId))
                {
                    int id = SessionHelper.LoggedUserInfo.UserId;
                    base.OnActionExecuting(filterContext);

                    if (_userManager.GetUserById(SessionHelper.LoggedUserInfo.UserId).Status == (int)UserStatus.JustCreated)
                    {
                        filterContext.Result = RedirectToAction("ForceChangePassword", "Login", new { area = "" });
                    }
                }
                else
                {
                    // clear user specific session.. by sessionid.
                    // also need to create sesssion with sessionid value.
                    Session.Clear();
                    filterContext.Result = RedirectToAction("Index", "Login", new { area = "" });
                }
            }
        }
Beispiel #4
0
        public void SetSession(FetchedUserViewModel fetchedUserViewModel)
        {
            _userManager = new UserManager();
            var sessionHelper = new SessionHelper
            {
                LoggedUserInfo = new LoggedUserInfo
                {
                    UserId              = fetchedUserViewModel.UserId,
                    UserTypeId          = fetchedUserViewModel.UserTypeId,
                    FullName            = fetchedUserViewModel.FullName.Trim(),
                    ThumbImage          = fetchedUserViewModel.ThumbImage,
                    Email               = fetchedUserViewModel.Email,
                    UserName            = fetchedUserViewModel.UserName.Trim(),
                    SessionId           = fetchedUserViewModel.SessionId,
                    DateModified        = fetchedUserViewModel.DateModified,
                    LawFirm             = fetchedUserViewModel.LawFirm,
                    LawFirm_ID          = fetchedUserViewModel.LawFirm_ID,
                    SelectedDashboardID = fetchedUserViewModel.DefaultDashboardID
                }
            };

            Session[CommonConstants.SESSION_USER] = sessionHelper;
        }
        public bool IsPasswordExpired(FetchedUserViewModel userModel, int passwordExpiryDaysCount)
        {
            int daysElapsedAfterLastPwdChange = (DateTime.Today - userModel.LastPasswordChangeDate).Days;

            return(daysElapsedAfterLastPwdChange > passwordExpiryDaysCount);
        }