public PageAdminModel GetDefaultAdminModel(Guid siteId) { var result = new PageAdminModel(); var languages = _languageRepository.GetAll(siteId).Where(x => x.Status != LanguageStatus.Deleted); foreach (var language in languages) { result.PageLocalisations.Add(new PageLocalisationAdminModel { LanguageId = language.Id, LanguageName = language.Name }); } foreach (var role in _roleService.GetAllRoles()) { bool selected = role.Name == DefaultRoleNames.Administrator; result.PagePermissions.Add(new PagePermissionModel { RoleId = role.Id, RoleName = role.Name, Type = PermissionType.View, Selected = selected }); } return(result); }
public IActionResult Update(PageAdminModel model) { var command = _mapper.Map <UpdatePageDetails>(model); command.SiteId = SiteId; command.PagePermissions = model.PagePermissions.ToDomain(); _commandSender.Send <UpdatePageDetails, Page>(command); return(new NoContentResult()); }
public PageAdminModel GetDefaultAdminModel(Guid siteId) { using (var context = _dbContextFactory.Create()) { var result = new PageAdminModel(); var languages = context.Languages .Where(x => x.SiteId == siteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToList(); foreach (var language in languages) { result.PageLocalisations.Add(new PageLocalisationAdminModel { LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status }); } foreach (var role in _roleService.GetAllRoles()) { var pagePermission = new PagePermissionModel { RoleId = role.Id, RoleName = role.Name, Disabled = role.Name == DefaultRoleNames.Administrator }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { pagePermission.PagePermissionTypes.Add(new PagePermissionTypeModel { Type = permisisonType, Selected = role.Name == DefaultRoleNames.Administrator }); } result.PagePermissions.Add(pagePermission); } var menus = context.Menus.Where(x => x.SiteId == siteId && x.Status == MenuStatus.Active) .Select(menu => new MenuModel { MenuId = menu.Id, MenuName = menu.Name, Selected = false }); result.Menus.AddRange(menus); return(result); } }
public async Task <IActionResult> Update(PageAdminModel model) { var command = _mapper.Map <UpdatePageDetails>(model); command.SiteId = SiteId; command.PagePermissions = GetSelectedPagePermissions(model.PagePermissions); await Task.Run(() => _commandSender.Send <UpdatePageDetails, Page>(command)); return(new NoContentResult()); }
public async Task <IActionResult> Save(PageAdminModel model) { var command = _mapper.Map <CreatePage>(model); command.SiteId = SiteId; command.Id = Guid.NewGuid(); command.PagePermissions = GetSelectedPagePermissions(model.PagePermissions); await Task.Run(() => _commandSender.Send <CreatePage, Page>(command)); return(new NoContentResult()); }
public IActionResult Save(PageAdminModel model) { var command = _mapper.Map <CreatePage>(model); command.SiteId = SiteId; command.Id = Guid.NewGuid(); command.PagePermissions = model.PagePermissions.ToDomain(); command.MenuIds = model.Menus.ToCommand(); _commandSender.Send <CreatePage, Page>(command); return(new NoContentResult()); }
public PageAdminModel GetDefaultAdminModel(Guid siteId) { var result = new PageAdminModel(); var languages = _languageRepository.GetAll(siteId); foreach (var language in languages) { result.PageLocalisations.Add(new PageLocalisationAdminModel { LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status }); } foreach (var role in _roleService.GetAllRoles()) { var pagePermission = new PagePermissionModel { RoleId = role.Id, RoleName = role.Name }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { bool selected = role.Name == DefaultRoleNames.Administrator; pagePermission.PagePermissionTypes.Add(new PagePermissionTypeModel { Type = permisisonType, Selected = selected }); } result.PagePermissions.Add(pagePermission); } return(result); }
public PageAdminModel GetAdminModel(Guid siteId, Guid pageId) { using (var context = _dbContextFactory.Create()) { var page = context.Pages .Include(x => x.PageLocalisations) .Include(x => x.PagePermissions) .FirstOrDefault(x => x.SiteId == siteId && x.Id == pageId && x.Status != PageStatus.Deleted); if (page == null) { return(null); } var result = new PageAdminModel { Id = page.Id, Name = page.Name, Status = page.Status, Url = page.Url, Title = page.Title, MetaDescription = page.MetaDescription, MetaKeywords = page.MetaKeywords }; var languages = context.Languages .Where(x => x.SiteId == siteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToList(); foreach (var language in languages) { var url = string.Empty; var title = string.Empty; var metaDescription = string.Empty; var metaKeywords = string.Empty; var existingLocalisation = page .PageLocalisations .FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { url = existingLocalisation.Url; title = existingLocalisation.Title; metaDescription = existingLocalisation.MetaDescription; metaKeywords = existingLocalisation.MetaKeywords; } result.PageLocalisations.Add(new PageLocalisationAdminModel { PageId = page.Id, LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Url = url, Title = title, MetaDescription = metaDescription, MetaKeywords = metaKeywords }); } foreach (var role in _roleService.GetAllRoles()) { var pagePermission = new PagePermissionModel { RoleId = role.Id, RoleName = role.Name, Disabled = role.Name == DefaultRoleNames.Administrator }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { bool selected = page.PagePermissions .FirstOrDefault(x => x.RoleId == role.Id && x.Type == permisisonType) != null; pagePermission.PagePermissionTypes.Add(new PagePermissionTypeModel { Type = permisisonType, Selected = selected || role.Name == DefaultRoleNames.Administrator }); } result.PagePermissions.Add(pagePermission); } return(result); } }
public PageAdminModel GetAdminModel(Guid siteId, Guid pageId) { var page = _pageRepository.GetById(siteId, pageId); if (page == null || page.Status == PageStatus.Deleted) { return(null); } var result = new PageAdminModel { Id = page.Id, Name = page.Name, Status = page.Status, Url = page.Url, Title = page.Title, MetaDescription = page.MetaDescription, MetaKeywords = page.MetaKeywords }; var languages = _languageRepository.GetAll(siteId).Where(x => x.Status != LanguageStatus.Deleted); foreach (var language in languages) { var url = string.Empty; var title = string.Empty; var metaDescription = string.Empty; var metaKeywords = string.Empty; var existingLocalisation = page .PageLocalisations .FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { url = existingLocalisation.Url; title = existingLocalisation.Title; metaDescription = existingLocalisation.MetaDescription; metaKeywords = existingLocalisation.MetaKeywords; } result.PageLocalisations.Add(new PageLocalisationAdminModel { PageId = page.Id, LanguageId = language.Id, LanguageName = language.Name, Url = url, Title = title, MetaDescription = metaDescription, MetaKeywords = metaKeywords }); } foreach (var role in _roleService.GetAllRoles()) { bool selected = page.PagePermissions.FirstOrDefault(x => x.RoleId == role.Id) != null; result.PagePermissions.Add(new PagePermissionModel { RoleId = role.Id, RoleName = role.Name, Type = PermissionType.View, Selected = selected }); } return(result); }