public async Task<SecurityResult> CreateAsync(ApplicationUserExtended user) { IdentityResult result; if (user == null) { throw new ArgumentNullException("user"); } NormalizeUser(user); //Update ASP.NET indentity user using (var userManager = _userManagerFactory()) { var dbUser = user.ToIdentityModel(); user.Id = dbUser.Id; if (string.IsNullOrEmpty(user.Password)) { result = await userManager.CreateAsync(dbUser); } else { result = await userManager.CreateAsync(dbUser, user.Password); } } if (result.Succeeded) { using (var repository = _platformRepository()) { var dbAcount = user.ToDataModel(); if(string.IsNullOrEmpty(user.MemberId)) { //Use for memberId same account id if its not set (Our current case Contact member 1 - 1 Account workaround). But client may use memberId as for any outer id. dbAcount.MemberId = dbAcount.Id; } dbAcount.AccountState = AccountState.Approved.ToString(); repository.Add(dbAcount); repository.UnitOfWork.Commit(); } } return result.ToCoreModel(); }
public async Task<SecurityResult> CreateAsync(ApplicationUserExtended user) { IdentityResult result = null; if (user == null) { throw new ArgumentNullException("user"); } //Update ASP.NET indentity user using (var userManager = _userManagerFactory()) { var dbUser = user.ToIdentityModel(); user.Id = dbUser.Id; if (string.IsNullOrEmpty(user.Password)) { result = await userManager.CreateAsync(dbUser); } else { result = await userManager.CreateAsync(dbUser, user.Password); } } if (result.Succeeded) { using (var repository = _platformRepository()) { var dbAcount = user.ToDataModel(); dbAcount.AccountState = AccountState.Approved.ToString(); repository.Add(dbAcount); repository.UnitOfWork.Commit(); } } return result == null ? null : result.ToCoreModel(); }