public async Task <AppIdentityUserDTO> CreatePartnerAsync(CreateAppIdentityUserDTO create) { // take the appsetting value to role and asign to a var string role = _configuration["UserRoles:Partner"]; // if user send some role, change the object value to null, cero, nothing create.RoleName = ""; #region Convert to Identity class var user = new AppIdentityUser { FullName = create.FullName, Email = create.Email, UserName = create.Email, PhoneNumber = create.Phone, // add default role Role = role }; #endregion var result = await _userManager.CreateAsync(user, create.Password); if (!result.Succeeded) { throw new ArgumentNullException(nameof(result)); } // find the user to add role and return the id var userCreated = await _userManager.FindByEmailAsync(create.Email); // add user to IdentityUserRole var addUserToRole = await _userManager.AddToRoleAsync(userCreated, role); #region Convert to DTO var userInfo = new AppIdentityUserDTO { Id = userCreated.Id, FullName = userCreated.UserName, Email = create.Email, Role = role }; #endregion return(userInfo); }
public async Task <AppIdentityUserDTO> GetById(string userId) { var user = await _userManager.FindByIdAsync(userId); if (user == null) { throw new ArgumentNullException(nameof(user)); } #region Convert to DTO var userInfo = new AppIdentityUserDTO { Id = user.Id, Email = user.Email, Role = user.Role }; #endregion return(userInfo); }