public ActionResult ManagePermission(int id)
        {
            var groupViewModel = _permisisonGroupService.CreateViewModel(id);

            var permissionViewModelList = _permisisonGroupService.GetPermissionsByGroup(id);

            permissionViewModelList = permissionViewModelList.Select(x => { x.IsSelected = true; return(x); }).ToList();
            var availablePermissionViewModelList = _permisisonGroupService.GetNotAssignedChildPermissions(trustId: groupViewModel.TrustId); //Permissions which are not assigned to any group

            groupViewModel.PermissionViewModelList = new List <PermissionViewModel>();

            if (permissionViewModelList != null)
            {
                groupViewModel.PermissionViewModelList.AddRange(permissionViewModelList);
            }
            if (availablePermissionViewModelList != null)
            {
                var addedPermissionIds = groupViewModel.PermissionViewModelList.Select(x => x.Id).ToList();
                groupViewModel.PermissionViewModelList.AddRange(availablePermissionViewModelList.Where(x => !addedPermissionIds.Contains(x.Id)));
            }

            return(View(groupViewModel));
        }