public async Task <IActionResult> CreateBranchAdmin(UserForCreateAdminDto userForCreateAdminDto) { var checkuser = await _userManager.FindByNameAsync(userForCreateAdminDto.UserName); if (checkuser != null) { return(BadRequest("Username already exists")); } var checkuseremail = await _userManager.FindByEmailAsync(userForCreateAdminDto.Email); if (checkuseremail != null) { return(BadRequest("Email already exists")); } var userToCreate = _mapper.Map <User>(userForCreateAdminDto); var result = await _userManager.CreateAsync(userToCreate, userForCreateAdminDto.Password); var userToReturn = _mapper.Map <UserForDisplayDetailDto>(userToCreate); string[] rolesArray = { "DriverCreater" }; if (result.Succeeded) { var userFromRepo = await _userManager.FindByNameAsync(userForCreateAdminDto.UserName); result = await _userManager.AddToRolesAsync(userFromRepo, rolesArray); if (!result.Succeeded) { await _userManager.DeleteAsync(userFromRepo); return(BadRequest(result.Errors)); } //_userManager.SendMailAsync("*****@*****.**","*****@*****.**","Welcome"); return(CreatedAtRoute("GetUser", new { Controller = "Users", id = userToCreate.Id }, userToReturn)); } return(BadRequest(result.Errors)); }
public async Task <IActionResult> CreateBranchAdmin(int role_id, UserForCreateAdminDto userForCreateAdminDto) { var checkuser = await _userManager.FindByNameAsync(userForCreateAdminDto.UserName); if (checkuser != null) { return(BadRequest("Username already exists")); } var checkuseremail = await _userManager.FindByEmailAsync(userForCreateAdminDto.Email); if (checkuseremail != null) { return(BadRequest("Email already exists")); } var checkuserphone = await _userManager.FindByEmailAsync(userForCreateAdminDto.PhoneNumber); if (checkuserphone != null) { return(BadRequest("Phone number already exists")); } var userToCreate = _mapper.Map <User>(userForCreateAdminDto); var result = await _userManager.CreateAsync(userToCreate, userForCreateAdminDto.Password); var userToReturn = _mapper.Map <UserForDisplayDetailDto>(userToCreate); List <string> rolesArray = new List <string> { "DriverAdmin" }; if (role_id == 4) { rolesArray = new List <string> { "DriverAdmin", "AccountAdmin", "BranchAdmin", "SuperAdmin" }; } if (role_id == 3) { rolesArray = new List <string> { "DriverAdmin", "AccountAdmin", "BranchAdmin" }; } if (role_id == 2) { rolesArray = new List <string> { "DriverAdmin", "AccountAdmin" }; } if (result.Succeeded) { var userFromRepo = await _userManager.FindByNameAsync(userForCreateAdminDto.UserName); result = await _userManager.AddToRolesAsync(userFromRepo, rolesArray); if (!result.Succeeded) { await _userManager.DeleteAsync(userFromRepo); return(BadRequest("Could not added roles, Please register again")); } return(CreatedAtRoute("GetUser", new { Controller = "Users", id = userToCreate.Id }, userToReturn)); } return(BadRequest(result.Errors)); }