Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class UserNewViewModel
- {
- public UserNewViewModel()
- {
- }
- public UserNewViewModel(Domain.User user)
- {
- NormalizedEmail = user.NormalizedEmail;
- UserName = user.UserName;
- Password = string.Empty;
- Email = user.Email;
- FirstName = user.FirstName;
- LastName = user.LastName;
- }
- public string NormalizedEmail { get; set; }
- public string UserName { get; set; }
- /*[Required]
- [MinLength(8)]*/
- public string Password { get; set; }
- [Required]
- [EmailAddress]
- public string Email { get; set; }
- [Required]
- public string FirstName { get; set; }
- [Required]
- public string LastName { get; set; }
- public string Disabled { get; set; }
- }
- [HttpPost]
- //[AllowAnonymous]
- [ValidateAntiForgeryToken]
- public async Task<IActionResult> RegisterUser(ViewModels.UserNewViewModel model)
- {
- if (ModelState.IsValid)
- {
- if(string.IsNullOrEmpty(model.UserName))
- {
- model.UserName = model.Email;
- }
- var existingUser = _BygBookDataContext.Users.FirstOrDefault(u => u.NormalizedEmail.Equals(model.NormalizedEmail));
- if(existingUser == null)
- {
- existingUser = new Domain.User(){
- UserName = model.UserName,
- Email = model.Email
- };
- await _userManager.CreateAsync(existingUser, model.Password);
- }
- else
- {
- existingUser.UserName = model.UserName;
- existingUser.FirstName = model.FirstName;
- existingUser.LastName = model.LastName;
- existingUser.Email = model.Email;
- await _userManager.UpdateAsync(existingUser);
- _BygBookDataContext.SaveChanges();
- if(!string.IsNullOrEmpty(model.Password))
- {
- var pwToken = await _userManager.GeneratePasswordResetTokenAsync(existingUser);
- await _userManager.ResetPasswordAsync(existingUser, pwToken, model.Password);
- _BygBookDataContext.SaveChanges();
- }
- }
- return PartialView("UserNewPartial", existingUser);
- }
- // If we got this far, something failed, redisplay form
- return PartialView(model);
- }
- await _userManager.CreateAsync(existingUser, model.Password);
- await userMan.CreateAsync(new Domain.User{
- UserName = "teknik@bygbook.dk",
- Email = "teknik@bygbook.dk",
- FirstName ="Teknik",
- LastName = string.Empty,
- EmailConfirmed = true
- },
- adminPassword);
Add Comment
Please, Sign In to add comment