Пример #1
0
        private async Task CreateEditSectionItemContent(Content pageContent, MenuSectionItem menuSectionItem)
        {
            var menuSectionItemContent =
                MenuSectionItemContent.CreateMenuSectionItemContent(DynamicCreated, pageContent.Lang,
                                                                    menuSectionItem);

            menuSectionItemContent.PageId = pageContent.PageId;
            await _menuManager.AddMenuItemContentAsync(menuSectionItemContent);
        }
Пример #2
0
        public void ValidateMenuItemContent(MenuSectionItemContent sectionItemContent)
        {
            if (sectionItemContent.MenuSectionItem == null)
            {
                throw new UserFriendlyException("InvalidaMenuItemSection");
            }
            if (sectionItemContent.Id != 0)
            {
                return;
            }
            var found = _menuSectionItemContentRepository.FirstOrDefault(a => a.Lang == sectionItemContent.Lang && a.MenuSectionItem.Id == sectionItemContent.MenuSectionItem.Id);

            if (found == null)
            {
                return;
            }
            throw new UserFriendlyException("LangExists");
        }
Пример #3
0
        public async Task <int> AddMenuItemContentAsync(MenuSectionItemContent sectionItemContent)
        {
            //_menuPolicy.ValidateMenuItemContent(sectionItemContent);

            var found =
                _menuSectionItemContentRepository.FirstOrDefault(
                    a => a.Lang == sectionItemContent.Lang && a.SectionItemId == sectionItemContent.MenuSectionItem.Id && a.PageId == sectionItemContent.PageId);

            if (found != null)
            {
                found.Lang            = sectionItemContent.Lang;
                found.DisplayText     = sectionItemContent.DisplayText;
                found.PageId          = sectionItemContent.PageId;
                found.MenuSectionItem = sectionItemContent.MenuSectionItem;
                await _menuSectionItemContentRepository.InsertOrUpdateAndGetIdAsync(found);

                return(found.Id);
            }

            var id = await _menuSectionItemContentRepository.InsertOrUpdateAndGetIdAsync(sectionItemContent);

            return(id);
        }
Пример #4
0
        public async Task SetItemForPage(Page page)
        {
            var section = await _menuSectionRepository.FirstOrDefaultAsync(a => a.CategoryId == page.CategoryId);

            if (section == null)
            {
                return;
            }
            var pageContents      = _pageContentRepository.GetAllList(a => a.PageId == page.Id);
            var sectionItemEntity = MenuSectionItem.CreateMenuSectionItem(page.Name, section, page.Id);
            var id = await AddMenuItemAsync(sectionItemEntity);

            if (sectionItemEntity.Id == 0)
            {
                sectionItemEntity = _menuSectionItemRepository.FirstOrDefault(id);
            }
            foreach (var pageContent in pageContents)
            {
                await
                AddMenuItemContentAsync(
                    MenuSectionItemContent.CreateMenuSectionItemContent(pageContent.Title, pageContent.Lang,
                                                                        sectionItemEntity));
            }
        }