Exemplo n.º 1
0
        public void UpdateOrAddBooksToGroup(int groupId, IList <long> bookIds, PermissionDataContract data)
        {
            var permissionFlags = m_permissionConverter.GetFlags(data);

            //new SynchronizeRoleWork(m_permissionRepository, m_communicationProvider, roleId).Execute();
            new UpdateOrAddProjectsToRoleWork(m_permissionRepository, groupId, bookIds, permissionFlags).Execute();
        }
Exemplo n.º 2
0
        public void UpdateOrAddBookToGroup(int groupId, long bookId, [FromBody] PermissionDataContract data)
        {
            m_authorizationManager.AuthorizeBookOrPermission(bookId, PermissionFlag.AdminProject, PermissionNames.AssignPermissionsToRoles);

            m_permissionManager.UpdateOrAddBooksToGroup(groupId, new List <long> {
                bookId
            }, data);
        }
Exemplo n.º 3
0
        public void AddBookToGroup(int groupId, long bookId, PermissionDataContract data)
        {
            var dbPermission = m_permissionRepository.InvokeUnitOfWork(x => x.FindPermissionByBookAndGroup(bookId, groupId));

            if (dbPermission != null)
            {
                throw new MainServiceException(MainServiceErrorCode.GroupAlreadyAssignedToProject, $"Group with ID={groupId} is already assigned to project with ID={bookId}");
            }

            UpdateOrAddBooksToGroup(groupId, new List <long> {
                bookId
            }, data);
        }
Exemplo n.º 4
0
        public void UpdateOrAddBookToGroup(int groupId, long bookId, PermissionDataContract data)
        {
            try
            {
                m_client.Put <object>($"usergroup/{groupId}/book/{bookId}/permission", data);
            }
            catch (HttpRequestException e)
            {
                if (m_logger.IsErrorEnabled())
                {
                    m_logger.LogError("{0} failed with {1}", m_client.GetCurrentMethod(), e);
                }

                throw;
            }
        }
Exemplo n.º 5
0
        public void AddBookToSingleUserGroup(long projectId, string userGroupCode, PermissionDataContract permissions)
        {
            var dbUserGroup = m_permissionRepository.InvokeUnitOfWork(x => x.FindSingleUserGroupByName(userGroupCode));

            if (dbUserGroup == null)
            {
                throw new MainServiceException(MainServiceErrorCode.GroupNotFound, $"Group with specified code {userGroupCode} was not found");
            }

            var dbPermission = m_permissionRepository.InvokeUnitOfWork(x => x.FindPermissionByBookAndGroup(projectId, dbUserGroup.Id));

            if (dbPermission != null)
            {
                throw new MainServiceException(MainServiceErrorCode.UserAlreadyAssignedToProject, $"Group with ID={dbUserGroup.Id} is already assigned to project with ID={projectId}");
            }

            var permissionFlags = m_permissionConverter.GetFlags(permissions);

            new UpdateOrAddProjectsToRoleWork(m_permissionRepository, dbUserGroup.Id, new List <long> {
                projectId
            }, permissionFlags).Execute();
        }
Exemplo n.º 6
0
        public PermissionFlag GetFlags(PermissionDataContract data)
        {
            var flags = PermissionFlag.None;

            if (data.ShowPublished)
            {
                flags |= PermissionFlag.ShowPublished;
            }
            if (data.ReadProject)
            {
                flags |= PermissionFlag.ReadProject;
            }
            if (data.EditProject)
            {
                flags |= PermissionFlag.EditProject;
            }
            if (data.AdminProject)
            {
                flags |= PermissionFlag.AdminProject;
            }

            return(flags);
        }
Exemplo n.º 7
0
 public int DeletePermission(PermissionDataContract permission)
 => Channel.DeletePermission(permission);
Exemplo n.º 8
0
 public PermissionDataContract UpdatePermission(PermissionDataContract permission)
 => Channel.UpdatePermission(permission);
Exemplo n.º 9
0
 public PermissionDataContract InsertPermission(PermissionDataContract permission)
 => Channel.InsertPermission(permission);