Пример #1
0
        public BookDirSearchModel PrepareBookDirSearchModel(BookDirSearchModel searchModel, BookDirModel bdm)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }
            searchModel.SearchDirName = bdm.Name;
            ///  searchModel.AvailableBooks =
            //prepare available stores
            _baseAdminModelFactory.PrepareStores(searchModel.AvailableStores);


            _baseAdminModelFactory.PrepareCategories(searchModel.AvailableCategories);

            //searchModel.AvailableBooks = _productService.ge


            //prepare page parameters
            searchModel.SetGridPageSize();
            return(searchModel);
        }
Пример #2
0
        public IActionResult Create(BookDirModel model, bool continueEditing)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCategories))
            {
                return(AccessDeniedView());
            }

            if (ModelState.IsValid)
            {
                var category = model.ToEntity <BookDir>();
                category.CreatedOnUtc = DateTime.UtcNow;
                category.UpdatedOnUtc = DateTime.UtcNow;
                if (string.IsNullOrEmpty(category.PriceRanges))
                {
                    category.PriceRanges = "0";
                }


                //search engine name
                model.SeName = _urlRecordService.ValidateSeName(category, model.SeName, category.Name, true);
                _urlRecordService.SaveSlug(category, model.SeName, 0);

                //locales
                // UpdateLocales(category, model);

                //discounts
                //    var allDiscounts = _discountService.GetAllDiscounts(DiscountType.AssignedToCategories, showHidden: true);
                //            foreach (var discount in allDiscounts)
                //            {
                //                if (model.SelectedDiscountIds != null && model.SelectedDiscountIds.Contains(discount.Id))
                //                    //category.AppliedDiscounts.Add(discount);
                //                    category.DiscountCategoryMappings.Add(new DiscountCategoryMapping { Discount = discount
                //});
                //            }

                _bookDirService.InsertBookDir(category);

                // _categoryService.UpdateCategory(category);

                //update picture seo file name
                //  UpdatePictureSeoNames(category);

                //ACL (customer roles)
                // SaveCategoryAcl(category, model);

                //stores
                // SaveStoreMappings(category, model);

//activity log
                _customerActivityService.InsertActivity("AddNewBookDir",
                                                        string.Format(_localizationService.GetResource("ActivityLog.AddNewBookDir"), category.Name), category);

                SuccessNotification(_localizationService.GetResource("Admin.AiBookDir.BookDir.AddNewBookDir"));

                if (!continueEditing)
                {
                    return(RedirectToAction("Index"));
                }

                return(RedirectToAction("Edit", new { id = category.Id }));
            }

            //prepare model
            model = _bookDirFactory.PrepareBookDirModel();

            //if we got this far, something failed, redisplay form
            return(View(model));
        }
Пример #3
0
        public BookDirModel PrepareBookDirModel(BookDirModel model, BookDir bookdir = null, bool excludeProperties = false)
        {
            Action <BookDirLocalizedModel, int> localizedModelConfiguration = null;

            if (bookdir != null)
            {
                //fill in model values from the entity
                if (model == null)
                {
                    model        = bookdir.ToModel <BookDirModel>();
                    model.SeName = _urlRecordService.GetSeName(bookdir, 0, true, false);
                }
                var result = _productService.GetProductById(bookdir.BookID);
                if (result != null)
                {
                    if (result.ProductCategories != null)
                    {
                        model.CategryID = result.ProductCategories.FirstOrDefault().CategoryId;
                    }
                    model.BookID = result.Id;
                    var products = _productService.SearchProducts(showHidden: true,
                                                                  categoryIds: new List <int>()
                    {
                        model.CategryID
                    },
                                                                  manufacturerId: 0,
                                                                  storeId: 0,
                                                                  vendorId: 0,
                                                                  warehouseId: 0,
                                                                  productType: null,
                                                                  keywords: null,
                                                                  pageIndex: 0,
                                                                  pageSize: int.MaxValue);

                    // model.BookList = products.ToList().ToSelect<Product>()
                }
                //prepare nested search model

                // PrepareBookDirSearchModel()

                //  PrepareCategoryProductSearchModel(model.CategoryProductSearchModel, category);

                //define localized model configuration action
                localizedModelConfiguration = (locale, languageId) =>
                {
                    locale.Name            = _localizationService.GetLocalized(bookdir, entity => entity.Name, languageId, false, false);
                    locale.Description     = _localizationService.GetLocalized(bookdir, entity => entity.Description, languageId, false, false);
                    locale.MetaKeywords    = _localizationService.GetLocalized(bookdir, entity => entity.MetaKeywords, languageId, false, false);
                    locale.MetaDescription = _localizationService.GetLocalized(bookdir, entity => entity.MetaDescription, languageId, false, false);
                    //locale.MetaTitle = _localizationService.GetLocalized(category, entity => entity.MetaTitle, languageId, false, false);
                    //locale.SeName = _urlRecordService.GetSeName(category, languageId, false, false);
                };
            }

            //set default values for the new model
            if (bookdir == null)
            {
                if (model == null)
                {
                    model = new BookDirModel();
                }

                //model.PageSize = _catalogSettings.DefaultCategoryPageSize;
                // model.PageSizeOptions = _catalogSettings.DefaultCategoryPageSizeOptions;
                model.Published = true;
                //  model.IncludeInTopMenu = true;
                model.AllowCustomersToSelectPageSize = true;
            }

            //prepare localized models
            if (!excludeProperties)
            {
                model.Locales = _localizedModelFactory.PrepareLocalizedModels(localizedModelConfiguration);
            }

            //prepare available category templates
            // _baseAdminModelFactory.PrepareCategoryTemplates(model.AvailableCategoryTemplates, false);
            //prepare available parent categories
            _baseAdminModelFactory.PrepareCategories(model.AvailableCategories,
                                                     defaultItemText: _localizationService.GetResource("Admin.Catalog.Categories.Fields.Parent.None"));
            //prepare model discounts
            // var availableDiscounts = _discountService.GetAllDiscounts(DiscountType.AssignedToCategories, showHidden: true);
            //_discountSupportedModelFactory.PrepareModelDiscounts(model, category, availableDiscounts, excludeProperties);
            //prepare model customer roles
            _aclSupportedModelFactory.PrepareModelCustomerRoles(model, bookdir, excludeProperties);
            //prepare model stores
            _storeMappingSupportedModelFactory.PrepareModelStores(model, bookdir, excludeProperties);
            return(model);
        }