public async Task <IActionResult> Post(int id, [FromBody] CreateEmployeeAccessModel employee) { if (employee == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(new ObjectResult(ModelState)); } UserCanAccessOrganization(id); // do saving and role creation var user = await _userManager.FindByNameAsync(employee.PhoneNumber); var role = await _roleManager.FindByNameAsync("Employee"); if (user != null) { throw new InvalidOperationException("User already exists."); } user = new ApplicationUser { UserName = employee.PhoneNumber, EmployeeId = employee.EmployeeId, OrganizationId = id, Phone = employee.PhoneNumber, PhoneNumber = employee.PhoneNumber, Email = employee.PhoneNumber + "@test.com" }; IdentityResult identity = await _userManager.CreateAsync(user, employee.Password); user = await _userManager.FindByNameAsync(employee.PhoneNumber); await _userManager.AddToRoleAsync(user, role.Name); return(new ObjectResult(employee)); }
/// <summary> /// Grant Employee Access /// </summary> /// <remarks> /// Grants a user access to the employee. /// </remarks> public Task GrantEmployeeAccessAsync(int businessId, int employeeId, CreateEmployeeAccessModel viewModel, CancellationToken cancellationToken = default) { return(ApiRequestAsync($"/business/{businessId}/employee/{employeeId}/access", viewModel, Method.POST, cancellationToken)); }
/// <summary> /// Grant Employee Access /// </summary> /// <remarks> /// Grants a user access to the employee. /// </remarks> public void GrantEmployeeAccess(int businessId, int employeeId, CreateEmployeeAccessModel viewModel) { ApiRequest($"/business/{businessId}/employee/{employeeId}/access", viewModel, Method.POST); }