private void GetBuilders() { MarketShareDataSource mds = DroneDataSource as MarketShareDataSource; if (!Object.Equals(null, mds)) { int maxParallel = XMLUtility.GetTextFromAccountNode(Xml, ProcessorName + "/maxparallel").ConvertStringToInt(1); Parallel.ForEach(mds.GetAllCompanies(MarketShareTypeBitMaskEnum.SiteBuilder, XMLUtility.GetIntFromAccountNode(Xml, ProcessorName + "/recordcount")) , new ParallelOptions { MaxDegreeOfParallelism = maxParallel } , (company, state) => { try { if (Context.ShuttingDown) { state.Break(); } MarketShareDataType marketDataType = new MarketShareDataType(); string url = Utility.CleanUrl(company.Uri.ToString()); WriteToUsageLogFile("Domain:" + url, string.Format("Executing {0}.{1}", ComponentTypeName, MethodInfo.GetCurrentMethod().Name), true); if (!String.IsNullOrWhiteSpace(url)) { marketDataType.Value = MarketShareEngine.Instance.SiteBuilder(url); marketDataType.DomainId = company.DomainId; marketDataType.SampleDate = company.DomainAttributes["SampleDate"]; marketDataType.TypeId = (int)MarketShareDataTypeEnum.SiteBuilder; marketDataType.BitMaskId = (int)MarketShareTypeBitMaskEnum.SiteBuilder; marketDataType.UniqueID = g; if (!string.IsNullOrWhiteSpace(marketDataType.Value)) { MarketShareDataComponent dc = new MarketShareDataComponent(); dc.MarketShareType = marketDataType; DroneDataSource.Process(dc); } else { Utility.WriteToLogFile(String.Format("SmallBiz_NoBuilder_{0:M_d_yyyy}", DateTime.Today) + ".log", string.Format("Domain: ,{0}", url)); } } } catch (Exception e) { ExceptionExtensions.LogError(e, "MarketShareBuilder.GetBuilders", "Domain: " + company.Uri.ToString()); } }); } }
/// <summary> /// Gets registrars for all companies in our database /// </summary> internal void GetAllEmailHosts() { MarketShareDataSource mds = DroneDataSource as MarketShareDataSource; if (!Object.Equals(null, mds)) { using (Dig dig = new Dig()) { var list = mds.GetAllCompanies(MarketShareTypeBitMaskEnum.EmailHost, XMLUtility.GetIntFromAccountNode(Xml, "emailhost/recordcount")); foreach (var company in list) { try { MarketShareDataType marketType = new MarketShareDataType(); string url = Utility.CleanUrl(company.Uri.ToString()); if (!String.IsNullOrWhiteSpace(url)) { WriteToUsageLogFile("Domain:" + url, string.Format("Executing {0}.{1}", ComponentTypeName, MethodInfo.GetCurrentMethod().Name), true); marketType.Value = dig.GetEmailHostName(url); marketType.DomainId = company.DomainId; marketType.SampleDate = company.DomainAttributes["SampleDate"]; marketType.TypeId = (int)MarketShareDataTypeEnum.EmailHost; marketType.BitMaskId = (int)MarketShareTypeBitMaskEnum.EmailHost; if (!string.IsNullOrWhiteSpace(marketType.Value)) { MarketShareDataComponent dc = new MarketShareDataComponent(); dc.MarketShareType = marketType; DroneDataSource.Process(dc); } else { Utility.WriteToLogFile(String.Format("SmallBiz_NoEmailHost_{0:M_d_yyyy}", DateTime.Today) + ".log", string.Format("Domain: ,{0}", url)); } } } catch (Exception e) { ExceptionExtensions.LogError(e, "EmailHost.GetAllEmailHosts", "Domain: " + company.Uri.ToString()); } } } } }