public Task CreateAsync(TUser user) { try { if (user == null) { throw new ArgumentNullException(nameof(user)); } user.UserRegDate = DateTime.Now; var userEntity = Mapper.Map <IdentityUserModel, UserIdentityEntity>(user); var id = _userIdentityRepository.Insert(userEntity, _connectionFactory); user.Id = id; if (id != 0) { AddToRoleAsync(user, "REGISTERED"); } } catch (Exception exception) { DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}"); return(Task.FromResult <object>(null)); } return(Task.FromResult <object>(null)); }
public async Task <ActionResult> Create(UserViewModel userViewModel) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = userViewModel.Email, Email = userViewModel.Email, PhoneNumber = userViewModel.PhoneNumber, LockoutEnabled = userViewModel.LockoutEnabled }; var result = await _usersRepository.Insert(user); if (result.Succeeded) { if (!await UpdateUserRoles(userViewModel, user)) { return(View(userViewModel)); } } else { ModelState.AddModelError("", result.Errors.First()); return(View(userViewModel)); } var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); var emailManager = new EmailManager(UserManager); await emailManager.SendConfirmationEmail(user.Id, "Confirm your account", callbackUrl); return(RedirectToAction("Index")); } return(View(userViewModel)); }