コード例 #1
0
        public IActionResult Create(AiBookModelView model, bool continueEditing)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCategories))
            {
                return(AccessDeniedView());
            }

            if (ModelState.IsValid)
            {
                var category = model.ToEntity <AiBookModel>();
                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);
                _bookNodeService.InsertAiBookModel(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("AddNewBookNode",
                                                        string.Format(_localizationService.GetResource("ActivityLog.AddNewBookNode"), category.Name), category);

                SuccessNotification(_localizationService.GetResource("Admin.AiBookDir.BookNode.AddNewBookNode"));

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

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

            //prepare model
            model = _bookNodeFactory.PrepareBookNodeModel(new AiBookModelView(), 0);


            //if we got this far, something failed, redisplay form
            return(View(model));
        }