Exemple #1
0
        public IViewComponentResult Invoke()
        {
            string SessionString = HttpContext.Session.GetString("PubSession");

            if (SessionString != null) //session already exists, put user in existing session
            {
                PubSessions Session = _context.GetPubSession(SessionString);
                if (Session != null && Session.UserId > 0)
                {
                    PubUserDetailsViewModel UserDetails = _context.GetPubUserDetails(Session.UserId);
                    if (UserDetails != null)
                    {
                        ViewBag.UserDetails = UserDetails;
                        return(View());
                    }
                }
            }
            return(View());
        }
        public PubUserDetailsViewModel GetPubUserDetails(int UserId)
        {
            var results = GetPubUserDetailsResults.FromSqlRaw("EXEC Get_PubUserDetails @UserID",
                                                              new SqlParameter("@UserID", UserId)).ToList();

            if (results.Count() > 0)
            {
                PubUserDetailsViewModel output = new PubUserDetailsViewModel
                {
                    UserId            = results.First().UserId,
                    UserFirstName     = results.First().UserFirstName,
                    UserLastName      = results.First().UserLastName,
                    UserAccessRank    = UserRank.GetRank(results.First().UserAccessRank),
                    UserOrderBasketID = results.First().UserOrderBasketID ?? 0
                };
                //If results are returned then the user has been found. As the user is unique, their will only be one result so the password is fetched from the first (only) result.
                return(output);
            }
            else
            {
                return(null); //no results returned - user ID dosen't exist in DB so give nothing.
            }
        }