コード例 #1
0
        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));
        }
コード例 #2
0
 /// <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));
 }
コード例 #3
0
 /// <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);
 }