public virtual async Task <IActionResult> Create(CheckoutAttributeModel model, bool continueEditing) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageAttributes)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var checkoutAttribute = model.ToEntity <CheckoutAttribute>(); await _checkoutAttributeService.InsertCheckoutAttributeAsync(checkoutAttribute); //locales await UpdateAttributeLocalesAsync(checkoutAttribute, model); //stores await SaveStoreMappingsAsync(checkoutAttribute, model); //activity log await _customerActivityService.InsertActivityAsync("AddNewCheckoutAttribute", string.Format(await _localizationService.GetResourceAsync("ActivityLog.AddNewCheckoutAttribute"), checkoutAttribute.Name), checkoutAttribute); _notificationService.SuccessNotification(await _localizationService.GetResourceAsync("Admin.Catalog.Attributes.CheckoutAttributes.Added")); if (!continueEditing) { return(RedirectToAction("List")); } return(RedirectToAction("Edit", new { id = checkoutAttribute.Id })); } //prepare model model = await _checkoutAttributeModelFactory.PrepareCheckoutAttributeModelAsync(model, null, true); //if we got this far, something failed, redisplay form return(View(model)); }
public async Task SetUp() { _checkoutAttributeParser = GetService <ICheckoutAttributeParser>(); _checkoutAttributeFormatter = GetService <ICheckoutAttributeFormatter>(); _checkoutAttributeService = GetService <ICheckoutAttributeService>(); //color (dropdownlist) _ca1 = new CheckoutAttribute { Name = "Color", TextPrompt = "Select color:", IsRequired = true, AttributeControlType = AttributeControlType.DropdownList, DisplayOrder = 1 }; await _checkoutAttributeService.InsertCheckoutAttributeAsync(_ca1); _cav11 = new CheckoutAttributeValue { Name = "Green", DisplayOrder = 1, CheckoutAttributeId = _ca1.Id }; _cav12 = new CheckoutAttributeValue { Name = "Red", DisplayOrder = 2, CheckoutAttributeId = _ca1.Id }; await _checkoutAttributeService.InsertCheckoutAttributeValueAsync(_cav11); await _checkoutAttributeService.InsertCheckoutAttributeValueAsync(_cav12); //custom option (checkboxes) _ca2 = new CheckoutAttribute { Name = "Custom option", TextPrompt = "Select custom option:", IsRequired = true, AttributeControlType = AttributeControlType.Checkboxes, DisplayOrder = 2 }; await _checkoutAttributeService.InsertCheckoutAttributeAsync(_ca2); _cav21 = new CheckoutAttributeValue { Name = "Option 1", DisplayOrder = 1, CheckoutAttributeId = _ca2.Id }; _cav22 = new CheckoutAttributeValue { Name = "Option 2", DisplayOrder = 2, CheckoutAttributeId = _ca2.Id }; await _checkoutAttributeService.InsertCheckoutAttributeValueAsync(_cav21); await _checkoutAttributeService.InsertCheckoutAttributeValueAsync(_cav22); //custom text _ca3 = new CheckoutAttribute { Name = "Custom text", TextPrompt = "Enter custom text:", IsRequired = true, AttributeControlType = AttributeControlType.MultilineTextbox, DisplayOrder = 3 }; await _checkoutAttributeService.InsertCheckoutAttributeAsync(_ca3); }