Exemplo n.º 1
0
        public ActionResult Index(RegisterViewModel model)
        {
            if (string.IsNullOrWhiteSpace(model.Login) ||
                string.IsNullOrWhiteSpace(model.Password) ||
                string.IsNullOrWhiteSpace(model.PasswordRepeat))
            {
                return(View(RegisterViewModel.ErrorMessage("You should fill all the fields")));
            }

            var login = model.Login.Trim();

            if (loginRegex.IsMatch(login))
            {
                return(View(RegisterViewModel.ErrorMessage("User Name may contain only letters, digits and white spaces")));
            }

            var password       = model.Password.Trim();
            var passwordRepeat = model.PasswordRepeat.Trim();

            if (!password.Equals(passwordRepeat))
            {
                return(View(RegisterViewModel.ErrorMessage("The passwords are not same")));
            }

            if (CheckLogin(login))
            {
                return(View(RegisterViewModel.ErrorMessage("A user with the same login already exists")));
            }

            var registerResult = CreateUser(login, password);

            return
                (View(registerResult.Item1
                    ? RegisterViewModel.SuccessMessage("The registration has been performed with success")
                    : RegisterViewModel.ErrorMessage(registerResult.Item2)));
        }