示例#1
0
        public IActionResult Edit(User user)
        {
            var userId = GetCurrentUser().Id;
            var studio = new Studio();

            user.Id             = userId;
            user.ConfirmAccount = true;
            studio.Name         = user.StudioName;

            _userDataAccess.UpdateUser(user);

            var studioId = _userDataAccess.GetUserById(userId).StudioId;

            _studioDataAccess.UpdateStudio(studio, studioId);

            return(RedirectToAction("Index"));
        }
示例#2
0
        public IActionResult Login(User user)
        {
            ModelState.Clear();
            ViewBag.login = true;
            var allUsers = _userDataAccess.GetAllUsers();
            var userId   = _userDataAccess.GetUserId(user);

            user.Id = userId;
            var userInfo = _userDataAccess.GetUserById(user.Id);

            if (!allUsers.Any(x => x.Email == user.Email))
            {
                ModelState.AddModelError(string.Empty, "User with this email doesn't exists!");
            }
            else if (!userInfo.ConfirmAccount)
            {
                ModelState.AddModelError(string.Empty, "We have send an email to your email account, please confirm it!");
            }
            else if (ModelState.IsValid)
            {
                var userEnteredPass = HashPassword.ComparePasswordAndHash(user.Password, userInfo.Salt, userInfo.Password);

                if (!userEnteredPass)
                {
                    ModelState.AddModelError("WrongPassword", "Please try again!");
                }
                else
                {
                    try
                    {
                        _userDataAccess.SignIn(HttpContext, user.Id);
                        return(RedirectToAction("Dashboard", "Studio"));
                    }
                    catch (Exception ex)
                    {
                        ModelState.AddModelError("summary", ex.Message);
                        return(View("Views/Account/RegisterLogin.cshtml"));
                    }
                }
            }
            return(View("Views/Account/RegisterLogin.cshtml"));
        }
示例#3
0
 public IActionResult AuthenticateLogin(int userId)
 {
     ModelState.Clear();
     ViewBag.login = true;
     if (userId != 0)
     {
         User user = _userDataAccess.GetUserById(userId);
         user.ConfirmAccount = true;
         _userDataAccess.UpdateUser(user);
     }
     else
     {
         ModelState.AddModelError(string.Empty, "Please enter your email and password!");
     }
     return(View("Views/Account/RegisterLogin.cshtml"));
 }
        private int GetCurrentStudioId()
        {
            ClaimsPrincipal currentUser = User;
            var             claims      = currentUser.Claims;
            var             userEmail   = "";

            foreach (var c in claims)
            {
                userEmail = c.Value;
            }
            var newUser = new User();

            newUser.Email = userEmail;
            var userId   = _userDataAccess.GetUserId(newUser);
            var studioId = _userDataAccess.GetUserById(userId).StudioId;

            return(studioId);
        }