public ActionResult Login(HomeViewModel.SignInViewModel model) { if (!ModelState.IsValid) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Wrong data provided")); } var encryptedPassword = model.Password.EncryptMD5(); var account = db.Accounts.FirstOrDefault(m => m.Login == model.Login && m.Password == encryptedPassword); if (account == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Login or password is wrong")); } if (account is Models.Admin) { Models.Authorization.IsAdmin = true; } else if (account is Models.User) { Models.Authorization.IsUser = true; } Models.Authorization.Login = account.Login; return(RedirectToAction("index", "home")); }
public ActionResult Register(HomeViewModel.RegisterViewModel model) { if (!ModelState.IsValid) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Wrong data provided")); } var existingAccount = db.Accounts.FirstOrDefault(m => m.Login == model.Login); if (existingAccount != null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Account with this login is already exists")); } db.Accounts.Add(new Models.User { Login = model.Login, Password = model.Password.EncryptMD5(), CreationTime = DateTime.Now, LastActivity = DateTime.Now }); db.SaveChanges(); var signInModel = new HomeViewModel.SignInViewModel() { Login = model.Login, Password = model.Password }; return(Login(signInModel)); }