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