public override void Process(IDroneDataComponent dataComponent) { FacebookDataComponent fbComponent = dataComponent as FacebookDataComponent; if (!Object.Equals(fbComponent, null)) { if (!Object.Equals(fbComponent.FBPage, null)) { SaveLikes(fbComponent.FBPage); } if (!Object.Equals(fbComponent.CountryDemographic, null)) { SaveCountryDemographics(fbComponent.CountryDemographic); } if (!Object.Equals(fbComponent.LocaleDemographic, null)) { SaveLocaleDemographics(fbComponent.LocaleDemographic); } if (!Object.Equals(fbComponent.GenderDemographic, null)) { SaveGenderDemographics(fbComponent.GenderDemographic); } } }
public override void Process(IDroneDataComponent dataComponent) { FacebookDataComponent fbComponent = dataComponent as FacebookDataComponent; if (!Object.Equals(fbComponent, null)) { if (!Object.Equals(fbComponent.FBPage, null)) { SendData(fbComponent.FBPage, "Page"); } if (!Object.Equals(fbComponent.CountryDemographic, null)) { SendData(fbComponent.CountryDemographic, "Country"); } if (!Object.Equals(fbComponent.LocaleDemographic, null)) { SendData(fbComponent.LocaleDemographic, "Locale"); } if (!Object.Equals(fbComponent.GenderDemographic, null)) { SendData(fbComponent.GenderDemographic, "Gender"); } } }
internal void GetPageInfoForAllCompetitors() { WriteToUsageLogFile("FacebookFanInfo.GetData | Thread:" + Thread.CurrentThread.ManagedThreadId.ToString(), "Started GetPageInfoForAllCompetitors"); FacebookDataSource fds = DroneDataSource as FacebookDataSource; if (!Object.Equals(null, fds)) { foreach (Competitor item in fds.GetCompetitorAccounts()) { if (item.FacebookID != 0) { Page fpo = GetPageInfoByCompany(item.FacebookID); if (!Object.Equals(fpo, null)) { FacebookDataComponent fdc = new FacebookDataComponent(); fdc.FBPage = fpo; DroneDataSource.Process(fdc); } else { Shared.Utility.WriteToLogFile(String.Format("Facebook_NoPage_{0:M_d_yyyy}", DateTime.Today) + ".log", string.Format("{0},{1}", fpo.Name, fpo.Id)); } } } } WriteToUsageLogFile("FacebookFanInfo.GetData | Thread:" + Thread.CurrentThread.ManagedThreadId.ToString(), "Completed GetPageInfoForAllCompetitors"); }
public override void Process(IDroneDataComponent component) { FacebookDataComponent comp = component as FacebookDataComponent; if (!Object.Equals(comp, null)) { Shared.Utility.WriteToLogFile(String.Format("Facebook_TestDataRun_{0:M_d_yyyy}", DateTime.Today) + ".log", comp.FBPage.Name + ", " + comp.FBPage.Likes + ", " + DateTime.Now); } }
private static Demographic <Country> GetCountryDemographic() { FacebookDataComponent fdc = new FacebookDataComponent(); FacebookFanInfo ffi = new FacebookFanInfo(new FacebookDataSource()); string accountId = XMLUtility.GetTextFromAccountNode(ffi.Xml, "id"); string accessToken = XMLUtility.GetTextFromAccountNode(ffi.Xml, "accesstoken"); Graph _graph = new Graph(); Demographic <Country> country = _graph.GetFanDemographics <Demographic <Country> >(accountId, accessToken, "page_fans_country"); return(country); }
public void Facebook_GetCompanyPageInfoAndSave() { Page fpo = FacebookFanInfo.GetPageInfoByCompany(8749090685); Assert.AreNotEqual(0, fpo.Likes); Assert.AreEqual("GoDaddy.com", fpo.Name); FacebookDataComponent fdc = new FacebookDataComponent(); fdc.FBPage = fpo; FanInfo.DroneDataSource.Process(fdc); //Assert.IsTrue(ReadLineFromFile().Contains("GoDaddy.com")); }
public void Facebook_GetFanDemographics() { FacebookDataComponent fdc = new FacebookDataComponent(); FacebookFanInfo ffi = new FacebookFanInfo(new FacebookTestDataSource()); string accountId = XMLUtility.GetTextFromAccountNode(ffi.Xml, "id"); string accessToken = XMLUtility.GetTextFromAccountNode(ffi.Xml, "accesstoken"); Demographic <Country> country = _graph.GetFanDemographics <Demographic <Country> >(accountId, accessToken, "page_fans_country"); Assert.IsNotNull(country.Data); Assert.AreNotEqual(0, country.Data.Count); Assert.IsNotNull(country.Data[0].Days); Assert.AreNotEqual(0, country.Data[0].Days.Count); Assert.IsNotNull(country.Data[0].Days[0].Country); Assert.AreNotEqual(0, country.Data[0].Days[0].Country.US); fdc.CountryDemographic = country; FanInfo.DroneDataSource.Process(fdc); Demographic <Locale> locale = _graph.GetFanDemographics <Demographic <Locale> >(accountId, accessToken, "page_fans_locale"); Assert.IsNotNull(locale.Data); Assert.AreNotEqual(0, locale.Data.Count); Assert.IsNotNull(locale.Data[0].Days); Assert.AreNotEqual(0, locale.Data[0].Days.Count); Assert.IsNotNull(locale.Data[0].Days[0].Locale); Assert.AreNotEqual(0, locale.Data[0].Days[0].Locale.en_US); fdc = new FacebookDataComponent(); fdc.LocaleDemographic = locale; FanInfo.DroneDataSource.Process(fdc); Demographic <Gender> gender = _graph.GetFanDemographics <Demographic <Gender> >(accountId, accessToken, "page_fans_gender_age"); Assert.IsNotNull(gender.Data); Assert.AreNotEqual(0, gender.Data.Count); Assert.IsNotNull(gender.Data[0].Days); Assert.AreNotEqual(0, gender.Data[0].Days.Count); Assert.IsNotNull(gender.Data[0].Days[0].Gender); Assert.AreNotEqual(0, gender.Data[0].Days[0].Gender.M_25to34); fdc = new FacebookDataComponent(); fdc.GenderDemographic = gender; FanInfo.DroneDataSource.Process(fdc); }
internal void GetFanDemographics() { WriteToUsageLogFile("FacebookFanInfo.GetData | Thread:" + Thread.CurrentThread.ManagedThreadId.ToString(), "Started GetFanDemographics"); Graph g = new Graph(); FacebookDataComponent fdc; string accountId = XMLUtility.GetTextFromAccountNode(Xml, "id"); string accessToken = XMLUtility.GetTextFromAccountNode(Xml, "accesstoken"); Demographic <Country> country = g.GetFanDemographics <Demographic <Country> >(accountId, accessToken, "page_fans_country"); if (!Object.Equals(country, null)) { fdc = new FacebookDataComponent(); fdc.CountryDemographic = country; DroneDataSource.Process(fdc); } Demographic <Locale> locale = g.GetFanDemographics <Demographic <Locale> >(accountId, accessToken, "page_fans_locale"); if (!Object.Equals(locale, null)) { fdc = new FacebookDataComponent(); fdc.LocaleDemographic = locale; DroneDataSource.Process(fdc); } Demographic <Gender> gender = g.GetFanDemographics <Demographic <Gender> >(accountId, accessToken, "page_fans_gender_age"); if (!Object.Equals(gender, null)) { fdc = new FacebookDataComponent(); fdc.GenderDemographic = gender; DroneDataSource.Process(fdc); } WriteToUsageLogFile("FacebookFanInfo.GetData | Thread:" + Thread.CurrentThread.ManagedThreadId.ToString(), "Completed GetFanDemographics"); }
public override void ProcessMessage(object sender, MessageEventArgs args) { bool handled = false; try { FacebookDataComponent dc = new FacebookDataComponent(); string msg = Encoding.UTF8.GetString(args.Message.BodyStream.ToByteArray()); Page page = Utility.DeserializeXMLString <Page>(msg); if (!Object.Equals(page, null)) { dc.FBPage = page; handled = true; FireMessageProcessingEvent(); QueueComponentDataSource.Process(dc); FireMessageProcessedEvent(); } else { Demographic <Country> ctry = Utility.DeserializeXMLString <Demographic <Country> >(msg); if (!Object.Equals(ctry, null)) { dc.CountryDemographic = ctry; handled = true; FireMessageProcessingEvent(); QueueComponentDataSource.Process(dc); FireMessageProcessedEvent(); } else { Demographic <Locale> lcl = Utility.DeserializeXMLString <Demographic <Locale> >(msg); if (!Object.Equals(lcl, null)) { dc.LocaleDemographic = lcl; handled = true; FireMessageProcessingEvent(); QueueComponentDataSource.Process(dc); FireMessageProcessedEvent(); } else { Demographic <Gender> gndr = Utility.DeserializeXMLString <Demographic <Gender> >(msg); if (!Object.Equals(gndr, null)) { dc.GenderDemographic = gndr; handled = true; FireMessageProcessingEvent(); QueueComponentDataSource.Process(dc); FireMessageProcessedEvent(); } } } } } catch (Exception e) { ExceptionExtensions.LogError(e, "QueueFacebook.ProcessMessage"); if (Utility.IsCriticalDBError(e)) { FireShuttingDownEvent(); } if (handled) { FireMessageProcessedEvent(); } } }