Exemplo n.º 1
0
        public async Task <ActionResult> Register(RegistrationModel model)
        {
            if (ModelState.IsValid)
            {
                using (FIFODBContext db = new FIFODBContext())
                {
                    User userEmail = await db.Users.FirstOrDefaultAsync(u => u.Email == model.Email);

                    User userLogin = await db.Users.FirstOrDefaultAsync(u => u.Login == model.Login);

                    if (userEmail != null)
                    {
                        ModelState.AddModelError("", "Пользователь с таким имейлом уже существует");
                    }
                    else if (userLogin != null)
                    {
                        ModelState.AddModelError("", "Пользователь с таким логином уже существует");
                    }
                    else
                    {
                        db.Users.Add(new User {
                            Email = model.Email, Login = model.Login, Password = model.Password
                        });
                        db.SaveChanges();
                        User user = await db.Users.FirstOrDefaultAsync(u => u.Email == model.Email);

                        singInUser(user);

                        return(RedirectToAction("UserCabinet", "Home"));
                    }
                }
            }
            return(View(model));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Login(LoginModel model)
        {
            if (ModelState.IsValid)
            {
                using (FIFODBContext db = new FIFODBContext())
                {
                    User user = await db.Users.AsNoTracking().FirstOrDefaultAsync(u => u.Email == model.Email && u.Password == model.Password);

                    if (user == null)
                    {
                        ModelState.AddModelError("", "Неверный логин или пароль.");
                    }
                    else
                    {
                        singInUser(user);
                        return(RedirectToAction("UserCabinet", "Home"));
                    }
                }
            }
            return(View(model));
        }