Beispiel #1
0
        public async Task <IActionResult> Register(ViewModels.RegistrationModel data)
        {
            var user = database.Users.FirstOrDefault(u => u.Login == data.Login);

            if (data.Password == null)
            {
                data.Password = "******";
            }
            if (user == null)
            {
                var newUser = new Models.User()
                {
                    Login        = data.Login,
                    PasswordHash = Utils.PasswordHasher.Default.Hash(data.Password)
                };
                database.Users.Add(newUser);
                await database.SaveChangesAsync().ConfigureAwait(true);

                _ = Authenticate(newUser);
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                ModelState.AddModelError("", "Некорректные данные");
                return(View(data));
            }
        }
        public async Task <IActionResult> Register(ViewModels.RegistrationModel model)
        {
            var loginAvailable = account.IsLoginAvailable(model.Login);

            if (loginAvailable)
            {
                await account.Register(model.Login, model.Password);

                await auth.Authenticate(model.Login, Enumerable.Empty <string>());

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                ModelState.AddModelError("", "Пользователь с таким именем уже существует");
                return(View(model));
            }
        }