private void SetSharedRequestValues(SiteCatalystRequest request, ValueParser parser)
        {
            if (parser.Values != null && parser.Values.Count > 0)
            {
                request.RequestingUrl = _queryParser.GetValueIfExists("g");
                request.ReferringUrl = _queryParser.GetValueIfExists("r");

                request.Channel = _queryParser.GetValueIfExists("ch");
                request.PageName = _queryParser.GetValueIfExists("pageName");
                request.Account = _queryParser.GetValueIfExists("account");
                request.Events = _queryParser.GetValueIfExists("events");

                DateTime time = DateTime.MinValue;
                DateTime.TryParse(_queryParser.GetValueIfExists("t"), out time);
                request.Time = time;

                SetSiteCatalystRequestValues(parser, request.Props, "c", "prop");
                SetSiteCatalystRequestValues(parser, request.Props, "v", "eVar");
            }
        }
        private void SetSiteCatalystRequestValues(ValueParser parser, SortedList<string, SiteCatalystRequestValue> values, string prefix, string newPrefix)
        {
            if (values == null)
            {
                values = new SortedList<string, SiteCatalystRequestValue>();
            }

            List<string> keys = parser.Values.Keys
                    .Cast<string>()
                    .Where(m => IsSiteCatalystField(m, prefix))
                    .Distinct()
                    .ToList();

            foreach (string key in keys)
            {
                string value = parser.Values.Get(key) ?? string.Empty;
                int varNumber = GetValueFromKey(key, prefix);
                string name = string.Format("{0}{1}", newPrefix, varNumber);
                if (varNumber > 0 && !string.IsNullOrEmpty(value) && !values.ContainsKey(name))
                {
                    values.Add(name, new SiteCatalystRequestValue()
                               	{
                               		Name = name,
                                    Value = value
                               	});
                }
            }
        }