コード例 #1
0
        public AiBookModelView PrepareBookNodeModel(AiBookModelView bookModelModel, int?filterByBookId)
        {
            var model = new AiBookModel();

            if (bookModelModel == null)
            {
                throw new ArgumentNullException(nameof(bookModelModel));
            }

            Action <AiBookModelLocalizedModel, int> localizedModelConfiguration = null;

            //prepare nested search models
            //Prepare Categories
            _baseAdminModelFactory.PrepareCategories(bookModelModel.AvailableCategories,
                                                     defaultItemText: _localizationService.GetResource("Admin.Catalog.Categories.Fields.Parent.None"));
            if (bookModelModel.BookDirId > 0)
            {
                var bookdir = _bookdirService.GetBookDirById(bookModelModel.BookDirId);
                if (bookdir != null)
                {
                    bookModelModel.BookId = bookdir.BookID;
                }
                bookModelModel.AvailableBookDirs = SelectListHelper.GetBookDirList(_bookdirService, _workContext.CurrentCustomer, _cacheManager);
            }


            if (bookModelModel.BookId > 0)
            {
                var result = _productService.GetProductById(bookModelModel.BookId);
                if (result != null)
                {
                    if (result.ProductCategories != null)
                    {
                        bookModelModel.CateId = result.ProductCategories.FirstOrDefault().CategoryId;
                    }
                    bookModelModel.BookId         = result.Id;
                    bookModelModel.AvailableBooks = SelectListHelper.GetBookList(_productService, new List <int> {
                        bookModelModel.CateId
                    }, _workContext.CurrentCustomer, _cacheManager);
                }
            }


            localizedModelConfiguration = (locale, languageId) =>
            {
                locale.Name        = _localizationService.GetLocalized(model, entity => entity.Name, languageId, false, false);
                locale.Desc        = _localizationService.GetLocalized(model, entity => entity.Desc, languageId, false, false);
                locale.WebModelUrl = _localizationService.GetLocalized(model, entity => entity.WebModelUrl, languageId, false, false);
                locale.WebGltfUrl  = _localizationService.GetLocalized(model, entity => entity.WebGltfUrl, languageId, false, false);
                locale.WebBinUrl   = _localizationService.GetLocalized(model, entity => entity.WebBinUrl, languageId, false, false);
                locale.AbUrl       = _localizationService.GetLocalized(model, entity => entity.AbUrl, languageId, false, false);
                locale.ImgUrl      = _localizationService.GetLocalized(model, entity => entity.ImgUrl, languageId, false, false);
                locale.StrJson     = _localizationService.GetLocalized(model, entity => entity.StrJson, languageId, false, false);
                //locale.SeName = _urlRecordService.GetSeName(category, languageId, false, false);
            };


            bookModelModel.Locales = _localizedModelFactory.PrepareLocalizedModels(localizedModelConfiguration);
            return(bookModelModel);
        }
コード例 #2
0
        public AiBookSearchModelView PrepareBookNodeSearchModel(AiBookSearchModelView searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }


            _baseAdminModelFactory.PrepareCategories(searchModel.AvailableCategories,
                                                     defaultItemText: _localizationService.GetResource("Admin.Catalog.Categories.Fields.Parent.None"));
            if (searchModel.BookDirId > 0)
            {
                var bookdir = _bookdirService.GetBookDirById(searchModel.BookDirId);

                if (bookdir != null)
                {
                    searchModel.BookId = bookdir.BookID;
                }
                searchModel.AvailableBookDirs = SelectListHelper.GetBookDirList(_bookdirService);
            }

            if (searchModel.BookId > 0)
            {
                var result = _productService.GetProductById(searchModel.BookId);
                if (result != null)
                {
                    if (result.ProductCategories != null)
                    {
                        searchModel.CateId = result.ProductCategories.FirstOrDefault().CategoryId;
                    }
                    searchModel.BookId         = result.Id;
                    searchModel.AvailableBooks = SelectListHelper.GetBookList(_productService, new List <int> {
                        searchModel.CateId
                    });
                }
            }

            return(searchModel);
        }