public PageModuleAdminModel GetModuleAdminModel(Guid siteId, Guid pageId, Guid pageModuleId) { using (var context = _dbContextFactory.Create()) { var page = GetPage(context, siteId, pageId); if (page == null) { return(null); } var pageModule = page.PageModules.FirstOrDefault(x => x.Id == pageModuleId); if (pageModule == null) { return(null); } var result = new PageModuleAdminModel { PageId = page.Id, ModuleId = pageModule.ModuleId, PageModuleId = pageModule.Id, Title = pageModule.Title, InheritPermissions = pageModule.InheritPermissions }; var languages = context.Languages .Where(x => x.SiteId == siteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToList(); foreach (var language in languages) { var title = string.Empty; var existingLocalisation = pageModule .PageModuleLocalisations .FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { title = existingLocalisation.Title; } result.PageModuleLocalisations.Add(new PageModuleLocalisationAdminModel { PageModuleId = pageModule.Id, LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Title = title }); } foreach (var role in _roleService.GetAllRoles()) { var pageModulePermission = new PageModulePermissionModel { RoleId = role.Id, RoleName = role.Name, Disabled = role.Name == DefaultRoleNames.Administrator }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { bool selected = pageModule.PageModulePermissions .FirstOrDefault(x => x.RoleId == role.Id && x.Type == permisisonType) != null; pageModulePermission.PageModulePermissionTypes.Add(new PageModulePermissionTypeModel { Type = permisisonType, Selected = selected }); } result.PageModulePermissions.Add(pageModulePermission); } return(result); } }
public async Task <PageModuleAdminModel> RetrieveAsync(GetPageModuleAdminModel query) { using (var context = _contextFactory.Create()) { var page = GetPage(context, query.SiteId, query.PageId); if (page == null) { return(null); } var pageModule = page.PageModules.FirstOrDefault(x => x.Id == query.PageModuleId); if (pageModule == null) { return(null); } var result = new PageModuleAdminModel { PageId = page.Id, ModuleId = pageModule.ModuleId, PageModuleId = pageModule.Id, Title = pageModule.Title, InheritPermissions = pageModule.InheritPermissions }; var languages = await context.Languages .Where(x => x.SiteId == query.SiteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToListAsync(); foreach (var language in languages) { var title = string.Empty; var existingLocalisation = pageModule .PageModuleLocalisations .FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { title = existingLocalisation.Title; } result.PageModuleLocalisations.Add(new PageModuleLocalisationAdminModel { PageModuleId = pageModule.Id, LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Title = title }); } foreach (var role in await _queryDispatcher.DispatchAsync <GetAllRoles, IEnumerable <Role> >(new GetAllRoles())) { var pageModulePermission = new PageModulePermissionModel { RoleId = role.Id, RoleName = role.Name, Disabled = role.Name == Administrator.Name }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { bool selected = pageModule.PageModulePermissions .FirstOrDefault(x => x.RoleId == role.Id && x.Type == permisisonType) != null; pageModulePermission.PageModulePermissionTypes.Add(new PageModulePermissionTypeModel { Type = permisisonType, Selected = selected }); } result.PageModulePermissions.Add(pageModulePermission); } return(result); } }
public PageModuleAdminModel GetModuleAdminModel(Guid siteId, Guid pageId, Guid pageModuleId) { var page = _pageRepository.GetById(siteId, pageId); if (page == null) { return(null); } var pageModule = page.PageModules.FirstOrDefault(x => x.Id == pageModuleId); if (pageModule == null) { return(null); } var result = new PageModuleAdminModel { PageId = page.Id, ModuleId = pageModule.ModuleId, PageModuleId = pageModule.Id, Title = pageModule.Title, InheritPermissions = pageModule.InheritPermissions }; var languages = _languageRepository.GetAll(siteId); foreach (var language in languages) { var title = string.Empty; var existingLocalisation = pageModule .PageModuleLocalisations .FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { title = existingLocalisation.Title; } result.PageModuleLocalisations.Add(new PageModuleLocalisationAdminModel { PageModuleId = pageModule.Id, LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Title = title }); } foreach (var role in _roleService.GetAllRoles()) { var pageModulePermission = new PageModulePermissionModel { RoleId = role.Id, RoleName = role.Name }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { bool selected = pageModule.PageModulePermissions .FirstOrDefault(x => x.RoleId == role.Id && x.Type == permisisonType) != null; pageModulePermission.PageModulePermissionTypes.Add(new PageModulePermissionTypeModel { Type = permisisonType, Selected = selected }); } result.PageModulePermissions.Add(pageModulePermission); } return(result); }