示例#1
0
        public static ReportPermissionsViewModel Create(IRepositoryFactory repositoryFactory, IWorkgroupService workgroupService)
        {
            var viewModel = new ReportPermissionsViewModel()
            {
                Workgroups = workgroupService.LoadAdminWorkgroups()
            };

            viewModel.Permissions = viewModel.Workgroups.SelectMany(a => a.Permissions);
            viewModel.Users       = viewModel.Permissions.Select(a => a.User).Distinct();

            return(viewModel);
        }
示例#2
0
        public static ReportPermissionsViewModel Create(IRepositoryFactory repositoryFactory, IWorkgroupService workgroupService, bool hideInherited = false)
        {
            var viewModel = new ReportPermissionsViewModel()
            {
                Workgroups = workgroupService.LoadAdminWorkgroups()
            };

            viewModel.Permissions = viewModel.Workgroups.SelectMany(a => a.Permissions);

            if (hideInherited)
            {
                viewModel.Users       = viewModel.Permissions.Where(w => !w.IsAdmin).Select(a => a.User).Distinct();
                viewModel.Permissions = viewModel.Permissions.Where(a => !a.IsAdmin);
            }
            else
            {
                viewModel.Users = viewModel.Permissions.Select(a => a.User).Distinct();
            }

            viewModel.HideInherited = hideInherited;

            return(viewModel);
        }