Esempio n. 1
0
        public HttpResponseMessage Post([FromBody] RoleMiniViewModel roleViewModel)
        {
            if (_roleRepository.Get(r => r.Name == roleViewModel.Name).Any())
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, Resources.Models.Role.Role.RoleNameExistsError));
            }

            roleViewModel.Id = Guid.NewGuid().ToString();

            var role = _mapper.Map <RoleMiniViewModel, ApplicationRole>(roleViewModel);

            role.CreatedTime    = DateTime.UtcNow;
            role.OrganizationId = GetUserAndOrganization().OrganizationId;

            RoleManager.Create(role);
            AssignPermissionsToARole(roleViewModel, role);
            AssignUsersToRole(roleViewModel);
            _permissionsCache.Clear();

            return(Request.CreateResponse(HttpStatusCode.OK, role.Id));
        }