public ActionResult EditUser(UserFormModel model) { if (model != null) { if (ModelState.IsValid) { User user = new User(); user.Id = model.Id; user.UserEmail = model.Email; if (model.Birthdate > DateTime.Today) { ModelState.AddModelError("Birthdate", "Дата рождения не может быть в будущем"); return(View(model)); } user.UserBirthdate = model.Birthdate; user.RoleId = model.RoleId; if (model.Password != null) { user.UserPassword = HashManager.HashData(model.Password); } if (model.Id > 0) { this.accountService.UpdateUser(user); } else { this.accountService.AddUser(user); } return(RedirectToAction("AdminPanelUser")); } return(View(model)); } return(View()); }
public ActionResult Login(LoginFormModel model) { if (model != null) { if (ModelState.IsValid) { UserModel user = this.accountService.GetUser(model.Email, HashManager.HashData(model.Password)); if (user == null) { ModelState.AddModelError("Email", "Неверный логин или пароль."); } else { Role role = this.accountService.GetRole(user.RoleId); ClaimsIdentity claim = new ClaimsIdentity("ApplicationCookie", ClaimsIdentity.DefaultNameClaimType, ClaimsIdentity.DefaultRoleClaimType); claim.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString(), ClaimValueTypes.String)); claim.AddClaim(new Claim(ClaimsIdentity.DefaultNameClaimType, user.Email, ClaimValueTypes.String)); claim.AddClaim(new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "OWIN Provider", ClaimValueTypes.String)); if (role != null) { claim.AddClaim(new Claim(ClaimsIdentity.DefaultRoleClaimType, role.RoleName, ClaimValueTypes.String)); //<---user.Role.RoleName } AuthenticationManager.SignOut(); AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = true }, claim); return(RedirectToAction("MainPageCourses", "Course")); } } return(View(model)); } return(View()); }
public ActionResult Register(UserRegistrationFormModel model) { if (model != null) { if (ModelState.IsValid) { Role role = this.accountService.GetRole("User"); User registration = new User(); registration.RoleId = role.Id; registration.UserEmail = model.Email; registration.UserPassword = HashManager.HashData(model.Password); if (model.Birthdate > DateTime.Today) { ModelState.AddModelError("Birthdate", "Дата рождения не может быть в будущем"); return(View(model)); } registration.UserBirthdate = model.Birthdate; var state = this.accountService.AddUser(registration); if (state.State == true) { EmailManager emailManager = new EmailManager(); emailManager.SendEmail($"Спасибо что зарегистрировались на сайте КурсоВод!<br/>Ваш логин: {model.Email};", "Registration on the kursovod.edu.ua", model.Email); return(RedirectToAction("WindowAfterRegistration", "Account")); } ModelState.AddModelError("Email", "Пользователь с такими данными уже зарегистрирован."); } return(View(model)); } return(View()); }