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 }); }
/// <summary> /// 构造函数 /// </summary> /// <param name="independetnLines">不能用net,net不允许重复基线</param> /// <param name="FixedSiteNames"></param> public SiteFixedBaselineNetMatrixBuilder(List <EstimatedBaseline> independetnLines, List <string> totalSites, List <string> FixedSiteNames) { this.IndependentLines = independetnLines; this.SiteNames = totalSites; if (FixedSiteNames == null) { FixedSiteNames = new List <string>(); } if (FixedSiteNames.Count == 0) { FixedSiteNames.Add(SiteNames.First()); } this.FixedSiteNames = FixedSiteNames; this.ParamNames = new List <string>(); foreach (var item in this.SiteNames) { ParamNames.Add(item + "_" + Gnsser.ParamNames.Dx); ParamNames.Add(item + "_" + Gnsser.ParamNames.Dy); ParamNames.Add(item + "_" + Gnsser.ParamNames.Dz); } }
/// <summary> /// In this method we receive data that was defined in B2B_app application and required for websites and web service investigation /// </summary> public void GetDataFromUser() { string data = RemoteSave.GetContentFromFtp("conf", RemoteSave.State.INTERMEDIATE); var strArr = data.Split(Environment.NewLine.ToCharArray()); List <string> condData = strArr.Where(s => !String.IsNullOrEmpty(s)).ToList(); var temp = condData[0]; var temp2 = temp.Split(';'); foreach (string s in temp2.Where(s => !String.IsNullOrEmpty(s))) { SiteNames.Add(s); } temp = condData[1]; temp2 = temp.Split(';'); bool flag; foreach (string s in temp2) { if (!String.IsNullOrEmpty(s)) { var temp3 = s.Split('-'); Route route = new Route(); flag = true; foreach (string s1 in temp3.Where(s1 => !String.IsNullOrEmpty(s1))) { if (flag) { route.Departure = s1; flag = false; } else { if (s1 != '-'.ToString()) { route.Arrival = s1; } } } FlightLegs.Add(route); } } temp = condData[2]; temp2 = temp.Split(';'); flag = true; foreach (string s in temp2) { if (!String.IsNullOrEmpty(s)) { if (flag) { // 2016-07-20T15:00:00Z DepartureDate = s; flag = false; } else { if (s != ';'.ToString()) { ArrivalDate = s; } } } } temp = condData[3]; temp2 = temp.Split(';'); ConfigFilePath = temp2[0]; Config = new CommonConfig(); Config = _configuration.GetConfiguration(ConfigFilePath); foreach (string siteName in SiteNames) { WebsiteDomList.Add(RemoteSave.GetContentFromFtp(siteName, RemoteSave.State.TEMPLATE)); } TemplateConfigModel template = new TemplateConfigModel(); foreach (string s in SiteNames) { WebsiteTemplates.Add(template.GetConfiguration(s)); } }