public BaseController()
        {
            db = new ConestagoEntities();
            //if (Session == null)
            //{
            //    var userid = User.Identity.GetUserId();
            //    var uisettings = db.UserUISettings.Where(x => x.UserId == userid).ToList();
            //    var user = db.AspNetUsers.Where(x => x.Id == userid).FirstOrDefault();
            //    if (uisettings.Count > 0)
            //    {
            //        var bg = uisettings.Where(x => x.Area == "BackgroundColor").FirstOrDefault();
            //        var hbg = uisettings.Where(x => x.Area == "HeaderBackgroundColor").FirstOrDefault();

            //        Session["bgcolor"] = bg.Color;
            //        Session["hbgcolor"] = hbg.Color;
            //        Session["UserFullName"] = user.FirstName + " " + user.LastName;
            //    }
            //}
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // Require the user to have a confirmed email before they can log on.
            var user = await UserManager.FindByNameAsync(model.Email);

            if (user != null)
            {
                if (!await UserManager.IsEmailConfirmedAsync(user.Id))
                {
                    ViewBag.errorMessage = "You must have a confirmed email to log on.";
                    return(View("Error"));
                }
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            bool role = User.IsInRole("Admin");

            Console.WriteLine(role);

            /*if(User.IsInRole("Admin"))
             * //{
             *  switch (result)
             *  {
             *      case SignInStatus.Success:
             *          return RedirectToAction("Home/Dashboard");
             *      case SignInStatus.LockedOut:
             *          return View("Lockout");
             *      case SignInStatus.RequiresVerification:
             *          return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
             *
             *
             *      case SignInStatus.Failure:
             *      default:
             *          ModelState.AddModelError("", "Invalid login attempt.");
             *          return View(model);
             *  }
             * }
             *
             * else
             * {*/
            using (var db = new ConestagoEntities()) {
                var uisettings = db.UserUISettings.Where(x => x.UserId == user.Id).ToList();
                if (uisettings.Count > 0)
                {
                    var bg   = uisettings.Where(x => x.Area == "BackgroundColor").FirstOrDefault();
                    var hbg  = uisettings.Where(x => x.Area == "HeaderBackgroundColor").FirstOrDefault();
                    var tbbg = uisettings.Where(x => x.Area == "TitleBarBackgroundColor").FirstOrDefault();
                    if (tbbg != null)
                    {
                        Session["tbbgcolor"] = tbbg.Color;
                    }
                    if (bg != null)
                    {
                        Session["bgcolor"] = bg.Color;
                    }
                    if (hbg != null)
                    {
                        Session["hbgcolor"] = hbg.Color;
                    }
                }
                Session["UserFullName"] = user.FirstName + " " + user.LastName;
            }

            switch (result)
            {
            case SignInStatus.Success:
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));


            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
            //}
        }
 public BaseController()
 {
     db = new ConestagoEntities();
 }