protected override string GetColumnValue(VisitorDataSet.VisitsRow visit) { Country country = lookupService.getCountry(HttpContext.Current.Request.UserHostAddress); var countryCode = country.getCode(); if (string.IsNullOrEmpty(countryCode) || countryCode == "--") { countryCode = base.GetColumnValue(visit); } return(countryCode); }
protected void FakeIPForLocalhost() { VisitorDataSet.VisitsRow currentVisit = Tracker.Visitor.GetCurrentVisit(); if (currentVisit != null) { // if we are local host. our IP is 127 which will not resolve so I am using a 'fake' ip address if (currentVisit.Ip[0] == 127) { currentVisit.Ip[0] = Convert.ToByte(SiteConfiguration.GetSiteSettingsItem()["IP1"]); currentVisit.Ip[1] = Convert.ToByte(SiteConfiguration.GetSiteSettingsItem()["IP2"]); currentVisit.Ip[2] = Convert.ToByte(SiteConfiguration.GetSiteSettingsItem()["IP3"]); currentVisit.Ip[3] = Convert.ToByte(SiteConfiguration.GetSiteSettingsItem()["IP4"]); // Sitecore may have already tried to resolve the 127 and failed, so this will initiate a retry currentVisit.HasGeoIpData = false; // Save our changes and let DMS request the GeoIP data again. currentVisit.UpdateGeoIpData(new TimeSpan(0, 0, 0, 0, 100)); currentVisit.AcceptChanges(); } } }
public TrackingRuleContext(Item item, VisitorDataSet.VisitsRow visit) { this.Item = item; this.Visit = visit; }