Beispiel #1
0
        //[ValidateAntiForgeryToken]
        public async Task <IActionResult> Create([FromBody] RoleViewModel role)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Role newRole = new Role
            {
                RoleID = role.RoleID,
                Title  = role.Title
            };

            await _rolesRepository.AddAsync(newRole);

            await _rolesRepository.CommitAsync();

            role = Mapper.Map <Role, RoleViewModel>(newRole);

            return(CreatedAtRoute("GetRole", new { controller = "Roles", id = role.RoleID }, role));
        }
Beispiel #2
0
        //[ValidateAntiForgeryToken]
        public async Task <IActionResult> Create([FromBody] RoleViewModel role)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Role newRole = new Role
            {
                RoleName = role.RoleName
            };


            // One-to-Many
            if (role.SelectedPermissions != null)
            {
                newRole.PermissionAssignments = new List <PermissionAssignment>();
                foreach (var permission in role.SelectedPermissions)
                {
                    var permissionToAdd = new PermissionAssignment {
                        RoleID = role.ID, PermissionID = int.Parse(permission)
                    };
                    newRole.PermissionAssignments.Add(permissionToAdd);
                }
            }

            await _rolesRepository.AddAsync(newRole);

            await _rolesRepository.CommitAsync();

            // Need to grab Course (.ThenInclude(ca => ca.Course)) since newInstructor does not retrieve Course entity after CommitAsync()
            // when InstructorViewModel maps (Title = ca.Course.Title)
            Role RoleWithPermission = await _rolesRepository.GetRolePermissions(newRole.ID);

            role = Mapper.Map <Role, RoleViewModel>(RoleWithPermission);

            return(CreatedAtRoute("GetRole", new { controller = "Role", id = role.ID }, role));
        }
Beispiel #3
0
 public async Task <Role> AddRoleAsync(Role role, string userName)
 {
     return(await _rolesRepository.AddAsync(role));
 }