/// <summary> /// Checks existing test for required Conversions. /// If either of 2 required Conversions are not defined, created then and save. /// </summary> private void AssignPageVisitConversions() { var modified = false; // Page visit conversion if (!ABTest.ABTestConversionConfiguration.TryGetConversionByOriginalName(ABTestConversionNames.PAGE_VISIT, out ABTestConversion pageVisitConversion)) { pageVisitConversion = new ABTestConversion(ABTestConversionNames.PAGE_VISIT, "/page-visit/uri"); modified = true; ABTest.ABTestConversionConfiguration.AddConversion(pageVisitConversion); } PageVisitConversionName = pageVisitConversion.ConversionName; // Purchase conversion if (!ABTest.ABTestConversionConfiguration.TryGetConversion(ABTestConversionNames.PURCHASE, out _)) { var purchaseConversion = new ABTestConversion(ABTestConversionNames.PURCHASE); modified = true; ABTest.ABTestConversionConfiguration.AddConversion(purchaseConversion); } // If any of the conversions were created, then save resulting test to DB if (modified) { ABTestInfo.Provider.Set(ABTest); } }
/// <summary> /// Creates new <see cref="ABTestConversion"/> object based on inputs. /// </summary> private ABTestConversion CreateConversion() { if (!IsValid()) { return(null); } var conversionValue = ValidationHelper.GetDecimal(txtValue.Text, txtValue.WatermarkText == DEFAULT_PLACEHOLDER_VALUE ? 1m : 0m); var conversion = new ABTestConversion(SelectedConversion, mItemSelector?.Value.ToString(), conversionValue); conversion.RelatedItemDisplayName = mItemSelector?.ValueDisplayName; return(conversion); }