/// <summary> /// Creates Facebook event object by parsing JSON data from content of HTTP message. /// </summary> /// <param name="msgJson">JSON data from content of HTTP message.</param> /// <param name="exportObject">For referencing FacebookSnooperExport from Facebook object.</param> /// <param name="index">Index to array inside JSON data where we can relevant data.</param> /// <returns>Parsed event object from Facebook conversation.</returns> private static FacebookEventTyping GetFacebookEventTyping(JObject msgJson, SnooperExportBase exportObject, int index) { var parsedToken = msgJson["ms"][index]; var fbEvent = new FacebookEventTyping(exportObject) { EventType = (string)parsedToken["type"], UserId = (ulong)msgJson["u"], ThreadId = (ulong)parsedToken["thread_fbid"], SenderId = (ulong)parsedToken["from"] }; return(fbEvent); }
public void AddProperyPersistenceObjectTest() { var dbx = this.WindsorContainer.Resolve <NetfoxDbContext>(); var exports = this.WindsorContainer.Resolve <VirtualizingObservableDBSetPagedCollection <SnooperExportBase> >(); var exportFacebook = new FacebookSnooperExport(); var exportObject = new FacebookEventTyping(exportFacebook); exportObject.ExportSources.Add(new EmailExportResult()); exportFacebook.OnBeforeProtocolParsing(); exportFacebook.OnAfterProtocolParsing(); exportFacebook.OnBeforeDataExporting(); exportFacebook.AddExportObject(exportObject); exportFacebook.OnAfterDataExporting(); dbx.SnooperExports.Add(exportFacebook); dbx.SaveChanges(); Assert.AreEqual(1, exports.Count); Assert.AreEqual(1, dbx.SnooperExports.Count()); Assert.AreEqual(1, dbx.SnooperExportedObjects.Count()); }