/// <summary> /// This method returns the web analytics settings for Event, Props and eVars data points. /// </summary> public virtual WebAnalyticsSettings GetWebAnalytics() { // Enumerate _webAnalyticsFieldFilterDelegates , so each delagate can be executed. foreach (KeyValuePair <string, WebAnalyticsDataPointDelegate> kvDel in _webAnalyticsFieldFilterDelegates) { FieldFilterData fieldData = null; if (Enum.IsDefined(typeof(WebAnalyticsOptions.Events), kvDel.Key)) { fieldData = new FieldFilterData(); // Execute the delegate so we can get the value of the field kvDel.Value(fieldData); this.WebAnalyticsSettings.Events.Add((WebAnalyticsOptions.Events)Enum.Parse(typeof(WebAnalyticsOptions.Events), kvDel.Key), fieldData.Value); } else if (Enum.IsDefined(typeof(WebAnalyticsOptions.eVars), kvDel.Key)) { fieldData = new FieldFilterData(); kvDel.Value(fieldData); this.WebAnalyticsSettings.Evars.Add((WebAnalyticsOptions.eVars)Enum.Parse(typeof(WebAnalyticsOptions.eVars), kvDel.Key), fieldData.Value); } else if (Enum.IsDefined(typeof(WebAnalyticsOptions.Props), kvDel.Key)) { fieldData = new FieldFilterData(); kvDel.Value(fieldData); this.WebAnalyticsSettings.Props.Add((WebAnalyticsOptions.Props)Enum.Parse(typeof(WebAnalyticsOptions.Props), kvDel.Key), fieldData.Value); } } return(this.WebAnalyticsSettings); }
/// <summary> /// Gets the value of the field referenced by "String" with all field filter applied. /// </summary> /// <param name="fieldName"></param> /// <exception cref="ArgumentException">Thrown when the fieldName field is null or empty.</exception> /// <returns></returns> public string GetField(string fieldName) { if (string.IsNullOrEmpty(fieldName)) { throw new ArgumentException("The field name may not be null or empty."); } string rtnValue = string.Empty; FieldFilterDelegate del = FieldFilterDelegates[fieldName.ToLower()]; if (del != null) { //Initialize the field data to empty field data FieldFilterData data = new FieldFilterData(); //Call delegate, all delegates will modify the FieldData string of the //FieldFilterData object we are passing in. del(fieldName, data); //set the return value to the processed value of the FieldFilterData rtnValue = data.Value; } return(rtnValue); }
/// <summary> /// /// </summary> /// <param name="webAnalyticFieldName"></param> /// <returns></returns> public string GetWebAnalytics(string webAnalyticFieldName) { // Don't use this for events! As this returns a string, and events need a boolean. if (string.IsNullOrEmpty(webAnalyticFieldName)) { throw new ArgumentException("The field name may not be null or empty."); } string rtnValue = string.Empty; WebAnalyticsDataPointDelegate del = _webAnalyticsFieldFilterDelegates[webAnalyticFieldName.ToLower()]; if (del != null) { //Initialize the field data to empty field data FieldFilterData data = new FieldFilterData(); //Call delegate, all delegates will modify the FieldData string of the //FieldFilterData object we are passing in. del(data); //set the return value to the processed value of the FieldFilterData rtnValue = data.Value; } return(rtnValue); }