public async Task <MenuItemAdminModel> GetItemForAdminAsync(Guid siteId, Guid menuId, Guid menuItemId) { var menu = _menuRepository.GetById(siteId, menuId); if (menu == null || menu.Status == MenuStatus.Deleted) { return(new MenuItemAdminModel()); } var menuItem = menu.MenuItems.FirstOrDefault(x => x.Id == menuItemId); if (menuItem == null || menuItem.Status == MenuItemStatus.Deleted) { return(new MenuItemAdminModel()); } var result = new MenuItemAdminModel { Id = menuItem.Id, MenuItemType = menuItem.MenuItemType, PageId = menuItem.PageId, Link = menuItem.Link, Text = menuItem.Text, Title = menuItem.Title }; var languages = _languageRepository.GetAll(siteId); foreach (var language in languages) { var text = string.Empty; var title = string.Empty; var existingLocalisation = menuItem.MenuItemLocalisations.FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { text = existingLocalisation.Text; title = existingLocalisation.Title; } result.MenuItemLocalisations.Add(new MenuItemAdminModel.MenuItemLocalisation { LanguageId = language.Id, LanguageName = language.Name, Text = text, Title = title }); } return(result); }
public MenuItemAdminModel GetDefaultItemForAdmin(Guid siteId, Guid menuId) { using (var context = _dbContextFactory.Create()) { var menu = context.Menus.FirstOrDefault(x => x.SiteId == siteId && x.Id == menuId && x.Status != MenuStatus.Deleted); if (menu == null) { return(new MenuItemAdminModel()); } var result = new MenuItemAdminModel(); var languages = context.Languages .Where(x => x.SiteId == siteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToList(); foreach (var language in languages) { result.MenuItemLocalisations.Add(new MenuItemAdminModel.MenuItemLocalisation { LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Text = string.Empty, Title = string.Empty }); } foreach (var role in _roleService.GetAllRoles()) { result.MenuItemPermissions.Add(new MenuItemAdminModel.MenuItemPermission { RoleId = role.Id, RoleName = role.Name, Selected = role.Name == DefaultRoleNames.Administrator, Disabled = role.Name == DefaultRoleNames.Administrator }); } return(result); } }
public MenuItemAdminModel GetItemForAdmin(Guid siteId, Guid menuId, Guid menuItemId) { using (var context = _dbContextFactory.Create()) { var menu = context.Menus.FirstOrDefault(x => x.SiteId == siteId && x.Id == menuId && x.Status != MenuStatus.Deleted); if (menu == null) { return(new MenuItemAdminModel()); } var menuItem = context.MenuItems .Include(x => x.MenuItemLocalisations) .Include(x => x.MenuItemPermissions) .FirstOrDefault(x => x.MenuId == menuId && x.Id == menuItemId && x.Status != MenuItemStatus.Deleted); if (menuItem == null) { return(new MenuItemAdminModel()); } var result = new MenuItemAdminModel { Id = menuItem.Id, Type = menuItem.Type, PageId = menuItem.PageId, Link = menuItem.Link, Text = menuItem.Text, Title = menuItem.Title }; var languages = context.Languages .Where(x => x.SiteId == siteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToList(); foreach (var language in languages) { var text = string.Empty; var title = string.Empty; var existingLocalisation = menuItem.MenuItemLocalisations.FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { text = existingLocalisation.Text; title = existingLocalisation.Title; } result.MenuItemLocalisations.Add(new MenuItemAdminModel.MenuItemLocalisation { MenuItemId = menuItem.Id, LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Text = text, Title = title }); } foreach (var role in _roleService.GetAllRoles()) { bool selected = menuItem.MenuItemPermissions.FirstOrDefault(x => x.RoleId == role.Id) != null; result.MenuItemPermissions.Add(new MenuItemAdminModel.MenuItemPermission { MenuItemId = menuItem.Id, RoleId = role.Id, RoleName = role.Name, Selected = selected || role.Name == DefaultRoleNames.Administrator, Disabled = role.Name == DefaultRoleNames.Administrator }); } return(result); } }
public MenuItemAdminModel GetItemForAdmin(Guid siteId, Guid menuId, Guid menuItemId) { var menu = _menuRepository.GetById(siteId, menuId); if (menu == null) { return(new MenuItemAdminModel()); } var menuItem = menu.MenuItems.FirstOrDefault(x => x.Id == menuItemId); if (menuItem == null) { return(new MenuItemAdminModel()); } var result = new MenuItemAdminModel { Id = menuItem.Id, Type = menuItem.Type, PageId = menuItem.PageId, Link = menuItem.Link, Text = menuItem.Text, Title = menuItem.Title }; var languages = _languageRepository.GetAll(siteId); foreach (var language in languages) { var text = string.Empty; var title = string.Empty; var existingLocalisation = menuItem.MenuItemLocalisations.FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { text = existingLocalisation.Text; title = existingLocalisation.Title; } result.MenuItemLocalisations.Add(new MenuItemAdminModel.MenuItemLocalisation { MenuItemId = menuItem.Id, LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Text = text, Title = title }); } foreach (var role in _roleService.GetAllRoles()) { bool selected = menuItem.MenuItemPermissions.FirstOrDefault(x => x.RoleId == role.Id) != null; result.MenuItemPermissions.Add(new MenuItemAdminModel.MenuItemPermission { MenuItemId = menuItem.Id, RoleId = role.Id, RoleName = role.Name, Selected = selected }); } return(result); }