Exemple #1
0
        public ActionResult Login(UserViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            ModelState.Clear();

            var hashPasswoed = ShaPassword.GetHash(model.Password);
            var user         = _db.Users.Where(x => x.Name == model.Name && x.Password == hashPasswoed).FirstOrDefault();

            if (user != null)
            {
                LoginUserSession.SetSessionAndVote(user);
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                ViewBag.Message = "Invalid name or password. Please, try again";
                return(View(model));
            }
        }
        public ActionResult Edit(EditProfileViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                User user = usersService.GetById(LoginUserSession.Current.UserId);
                user.Email = viewModel.Email;
                user.Name  = viewModel.Name;
                bool hasSuccessfullyEdited = true;
                try
                {
                    hasSuccessfullyEdited = usersService.Edit(user);
                }
                catch (System.Data.SqlClient.SqlException)
                {
                    hasSuccessfullyEdited = false;
                }

                if (hasSuccessfullyEdited)
                {
                    LoginUserSession currentSession = LoginUserSession.Current;
                    currentSession.Email           = viewModel.Email;
                    currentSession.Name            = viewModel.Name;
                    TempData["SuccessfullMessage"] = "Profile edited successfully";
                }
                else
                {
                    TempData["ErrorMessage"] = "There was a server error during the edit";
                }

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                return(View(viewModel));
            }
        }