コード例 #1
0
        /// <summary>
        /// GetRole - Method. Paul Rest helped me find this solution.
        /// </summary>
        /// <param name="registerDTO">Passing in an object of RegisterDTO</param>
        /// <returns>A string with the assigned role</returns>
        private string GetRole(AssignRoleDTO assignRoleDTO)
        {
            string role = "";

            switch (assignRoleDTO.Role.ToLower())
            {
            case "district manager":
                role = ApplicationRoles.DistrictManager;
                break;

            case "property manager":
                role = ApplicationRoles.PropertyManager;
                break;

            case "customer agent":
                role = ApplicationRoles.CustomerAgent;
                break;

            case "customer":
                role = ApplicationRoles.Customer;
                break;

            default:
                break;
            }
            return(role);
        }
コード例 #2
0
        public HttpResponseMessage AssignNewRole(int id, [FromBody] AssignRoleDTO dto)
        {
            if (dto == null)
            {
                return(BadRequest("No input parameters provided"));
            }

            return
                (_dataProcessingRegistrationApplicationService
                 .AssignRole(id, dto.RoleId, dto.UserId)
                 .Match(_ => Ok(), FromOperationError));
        }
コード例 #3
0
        public async Task <IActionResult> AssingRoleToUser(AssignRoleDTO roleAssignment)
        {
            var user = await _userManager.FindByNameAsync(roleAssignment.Email);

            var result = await _userManager.AddToRoleAsync(user, roleAssignment.Role);

            if (result.Succeeded)
            {
                return(Ok());
            }
            return(BadRequest("Was unable to assign the role"));
        }
コード例 #4
0
ファイル: AccountController.cs プロジェクト: paulmrest/VROOM
        public async Task AssignRoleToUser(AssignRoleDTO assignment)
        {
            var user = await _userManager.FindByEmailAsync(assignment.Email);

            string assignedRole = GetRole(assignment);

            //if ((User.IsInRole("Office Manager") && assignment.Role != "Employee"))
            //{
            //    return BadRequest("Invalid Registration");
            //}

            await _userManager.AddToRoleAsync(user, assignedRole);
        }
コード例 #5
0
        private async Task <IActionResult> UpdateUserRole(AssignRoleDTO assignRoleDTO)
        {
            assignRoleDTO.Role = GetRole(assignRoleDTO.Role);
            var user = await _userManager.FindByEmailAsync(assignRoleDTO.Email);

            var oldRoles = await _userManager.GetRolesAsync(user);

            await _userManager.RemoveFromRolesAsync(user, oldRoles);

            await _userManager.AddToRoleAsync(user, assignRoleDTO.Role);

            return(Ok($"{assignRoleDTO.Email} assigned to the role of {assignRoleDTO.Role}"));
        }
コード例 #6
0
        public async Task AssignRoleToUser(AssignRoleDTO assignment)
        {
            var user = await _userManager.FindByEmailAsync(assignment.Email);

            // validation here to confirm the role is valid
            //string role = "";
            //if (assignment.Role.ToUpper() == "ADVISOR")
            //{
            //    role = ApplicationRoles.Advisor;
            //}

            await _userManager.AddToRoleAsync(user, assignment.Role);
        }
コード例 #7
0
        public async Task <IActionResult> AssignRoleToAgentUser(AssignRoleDTO assignRoleDTO)
        {
            //get the role of the currently logged in user
            var userRole = User.Claims.Where(x => x.Type == ClaimTypes.Role);

            //if the District Manager is using the agent route, they can still assign any user to any role
            if (userRole.FirstOrDefault().Value.ToLower() == ApplicationRoles.DistrictManager.ToLower() || assignRoleDTO.Role.ToLower() == "agent")
            {
                return(await UpdateUserRole(assignRoleDTO));
            }
            else
            {
                return(BadRequest("You are not authorized to assign roles other than Agent."));
            }
        }
コード例 #8
0
        //[Authorize(Policy="ElevatedPrivileges")]
        public async Task AssignRoleToUser(AssignRoleDTO assignment)
        {
            var user = await _userManager.FindByEmailAsync(assignment.Email);

            // validation here to confirm the role is valid

            //string role = "";

            //if(assignment.Role.ToUpper == "ADVISOR")
            //{
            //    role = ApplicationRoles.Advisor;
            //}

            // district managers can add hotels
            // property managers can create rooms
            // customer agents can add amenities
            // customers can only view
            string assignedRole = GetRole(assignment);

            await _userManager.AddToRoleAsync(user, assignedRole);
        }
コード例 #9
0
        public async Task AssignRoleToUser(AssignRoleDTO assignment)
        {
            var user = await _userManager.FindByNameAsync(assignment.UserName);

            //string role;
            //switch (assignment.Role.ToUpper())
            //{
            //    case "DistrictManager":
            //        role = ApplicationRoles.DistrictManager;
            //        break;
            //    case "PROPERTYMANAGER":
            //        role = ApplicationRoles.PropertyManager;
            //        break;
            //    case "AGENT":
            //        role = ApplicationRoles.Agent;
            //        break;
            //    default:
            //        role = ApplicationRoles.Customer;
            //        break;
            //};

            await _userManager.AddToRoleAsync(user, assignment.Role);
        }
コード例 #10
0
ファイル: AccountController.cs プロジェクト: paulmrest/VROOM
        private string GetRole(AssignRoleDTO assignRoleDTO)
        {
            string role = "";

            switch (assignRoleDTO.Role.ToLower())
            {
            case "ceo":
                role = ApplicationRoles.CEO;
                break;

            case "office manager":
                role = ApplicationRoles.OfficeManager;
                break;

            case "employee":
                role = ApplicationRoles.Employee;
                break;

            default:
                break;
            }

            return(role);
        }
コード例 #11
0
        public async Task AssignRoleToUser(AssignRoleDTO assignment)
        {
            var user = await _userManager.FindByEmailAsync(assignment.Email);

            await _userManager.AddToRoleAsync(user, assignment.Role);
        }
コード例 #12
0
 public async Task <IActionResult> AssignRoleToUser(AssignRoleDTO assignRoleDTO)
 {
     return(await UpdateUserRole(assignRoleDTO));
 }
コード例 #13
0
        public async Task AssignRoleOnlyDistrictManagerAllowed(AssignRoleDTO assignment)
        {
            var user = await _userManager.FindByEmailAsync(assignment.Email);

            await _userManager.AddToRoleAsync(user, assignment.Role);
        }