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)); }