public ActionResult LogIn(LoginViewModel loginModel, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                TheLearningCenter.Business.UserLoginModel user =
                    userLoginManager.LogIn(loginModel.UserName, loginModel.Password);

                if (user == null)
                {
                    ModelState.AddModelError("", "User name and password do not match.");
                }
                else
                {
                    Session["User"] = new TheLearningCenter.Models.UserModel {
                        Id = user.Id, Name = user.Name
                    };

                    System.Web.Security.FormsAuthentication.SetAuthCookie(loginModel.UserName, false);

                    return(Redirect(returnUrl ?? "~/"));
                }
            }

            return(View(loginModel));
        }
        public ActionResult Register(RegisterViewModel registerModel)
        {
            if (ModelState.IsValid)
            {
                // call userLoginManager.Register(email, password);

                // if non-null user is returned
                // .. set Session
                // .. set Cookies
                // .. redirect to home page

                // else display Registration View again
                TheLearningCenter.Business.UserLoginModel user =
                    userLoginManager.RegisterUser(registerModel.Email, registerModel.Password);

                if (user == null)
                {
                    ModelState.AddModelError("", "User name already exists. Please login.");
                }
                else
                {
                    Session["User"] = new TheLearningCenter.Models.UserModel {
                        Id = user.Id, Name = user.Name
                    };

                    System.Web.Security.FormsAuthentication.SetAuthCookie(registerModel.Email, false);

                    return(Redirect("~/"));
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(registerModel));
        }