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); }
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); }