protected override DriverResult Editor(CheckoutPolicySettingsPart part, IUpdateModel updater, dynamic shapeHelper) { if (updater is ECommerceSettingsAdminController) { var vm = new CheckoutPolicySettingsPartEditViewModel(); if (updater.TryUpdateModel(vm, Prefix, null, null)) { if ( // if there is nothing selected vm.PolicyTextReferences == null || vm.PolicyTextReferences.Length == 0 // or we should show all policies || vm.PolicyTextReferences.Contains(CheckoutPolicySettingsPart.NoPolicyOption)) { // no policy required part.PolicyTextReferences = new string[] { CheckoutPolicySettingsPart.NoPolicyOption }; } else if (vm.PolicyTextReferences.Contains(CheckoutPolicySettingsPart.AllPoliciesOption)) { // user must accept all policies part.PolicyTextReferences = new string[] { CheckoutPolicySettingsPart.AllPoliciesOption }; } else { part.PolicyTextReferences = vm.PolicyTextReferences; } } return(EditorShape(vm, shapeHelper)); } return(Editor(part, shapeHelper)); }
private DriverResult EditorShape(CheckoutPolicySettingsPartEditViewModel vm, dynamic shapeHelper) { return(ContentShape("SiteSettings_CheckoutPolicySettings", () => shapeHelper.EditorTemplate( TemplateName: "SiteSettings/CheckoutPolicySettings", Model: vm, Prefix: Prefix )).OnGroup("ECommerceSiteSettings")); }