protected override void OnProcess(Sitecore.Analytics.Aggregation.Pipeline.AggregationPipelineArgs args) { Sitecore.Diagnostics.Assert.ArgumentNotNull((object)args, "args"); Browsers fact = args.GetFact <Browsers>(); BrowserMajor dimension1 = args.GetDimension <BrowserMajor>(); BrowserMinor dimension2 = args.GetDimension <BrowserMinor>(); SiteNames dimension3 = args.GetDimension <SiteNames>(); var visit = args.Context.Visit; var browserData = visit.Browser; int value = visit.Value; Hash32 hash32_1 = dimension1.Add(browserData.BrowserMajorName ?? "[Unknown]"); Hash32 hash32_2 = dimension2.Add(hash32_1, browserData.BrowserMinorName ?? "[Unknown]"); Hash32 hash32_3 = dimension3.Add(visit.SiteName ?? "[Unknown]"); args.GetFact <Browsers>().Emit( new BrowsersKey() { Date = args.DateTimeStrategy.Translate(visit.StartDateTime), BrowserMajorId = hash32_1, BrowserMinorId = hash32_2, SiteNameId = hash32_3, Checksum = Hash32.Compute((object)hash32_1, (object)hash32_2, (object)hash32_3) }, new BrowsersValue() { Value = value, Visits = 1 }); }
public Hash32 Add(Hash32 browserMajorId, string browserMinorName) { string browserMinor1 = browserMinorName ?? "[unknown]"; Hash32 browserMinorId = Hash32.Compute(browserMinor1); base.Add(new BrowserMinorKey(browserMajorId, browserMinorId), new BrowserMinorValue(browserMinor1)); return(browserMinorId); }
protected override void HashCore(byte[] array, int ibStart, int cbSize) { result = hash.Compute(array, ibStart, cbSize); }