private static void SaveTwittwrDirectMessageRecieved(oAuthTwitter OAuth, string profileId) { #region Add Twitter Direct Message TwitterUser twtuser = new TwitterUser(); try { JArray Messages_Sent = twtuser.GetDirect_Messages(OAuth, 20); Domain.Socioboard.Models.Mongo.MongoTwitterDirectMessages objTwitterDirectMessages = new Domain.Socioboard.Models.Mongo.MongoTwitterDirectMessages(); if (Messages_Sent != null) { foreach (var item in Messages_Sent) { objTwitterDirectMessages.type = Domain.Socioboard.Enum.TwitterMessageType.TwitterDirectMessageReceived; objTwitterDirectMessages.id = ObjectId.GenerateNewId(); objTwitterDirectMessages.profileId = profileId; try { objTwitterDirectMessages.messageId = item["id_str"].ToString().TrimStart('"').TrimEnd('"'); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { const string format = "ddd MMM dd HH:mm:ss zzzz yyyy"; objTwitterDirectMessages.createdDate = DateTime.ParseExact(item["created_at"].ToString().TrimStart('"').TrimEnd('"'), format, System.Globalization.CultureInfo.InvariantCulture).ToString("yyyy/MM/dd HH:mm:ss"); objTwitterDirectMessages.timeStamp = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.ParseExact(item["created_at"].ToString().TrimStart('"').TrimEnd('"'), format, System.Globalization.CultureInfo.InvariantCulture)); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objTwitterDirectMessages.message = item["text"].ToString().TrimStart('"').TrimEnd('"'); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objTwitterDirectMessages.recipientId = item["recipient"]["id_str"].ToString().TrimStart('"').TrimEnd('"'); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objTwitterDirectMessages.recipientScreenName = item["recipient"]["screen_name"].ToString().TrimStart('"').TrimEnd('"'); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objTwitterDirectMessages.recipientProfileUrl = item["recipient"]["profile_image_url"].ToString().TrimStart('"').TrimEnd('"'); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objTwitterDirectMessages.senderId = item["sender"]["id_str"].ToString().TrimStart('"').TrimEnd('"'); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objTwitterDirectMessages.senderScreenName = item["sender"]["screen_name"].ToString().TrimStart('"').TrimEnd('"'); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objTwitterDirectMessages.senderProfileUrl = item["sender"]["profile_image_url"].ToString().TrimStart('"').TrimEnd('"'); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objTwitterDirectMessages.entryDate = DateTime.UtcNow.ToString("yyyy/MM/dd HH:mm:ss"); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } MongoRepository mongorepo = new MongoRepository("MongoTwitterDirectMessages"); mongorepo.Add <Domain.Socioboard.Models.Mongo.MongoTwitterDirectMessages>(objTwitterDirectMessages); } } else { apiHitsCount = MaxapiHitsCount; } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); apiHitsCount = MaxapiHitsCount; } #endregion }
public static void SavePageConversations(string AccessToken, string ProfileId) { try { Domain.Socioboard.Models.Mongo.MongoTwitterDirectMessages _TwitterDirectMessages; dynamic data = FbUser.conversations(AccessToken); if (data != null) { apiHitsCount++; foreach (var item in data["data"]) { foreach (var msg_item in item["messages"]["data"]) { _TwitterDirectMessages = new Domain.Socioboard.Models.Mongo.MongoTwitterDirectMessages(); try { _TwitterDirectMessages.messageId = msg_item["id"].ToString(); } catch (Exception ex) { } try { _TwitterDirectMessages.createdDate = Convert.ToDateTime(msg_item["created_time"].ToString()).ToString("yyyy/MM/dd HH:mm:ss"); } catch (Exception ex) { } try { _TwitterDirectMessages.senderId = msg_item["from"]["id"].ToString(); } catch (Exception ex) { } try { _TwitterDirectMessages.senderScreenName = msg_item["from"]["name"].ToString(); } catch (Exception ex) { } try { _TwitterDirectMessages.senderProfileUrl = "http://graph.facebook.com/" + _TwitterDirectMessages.senderId + "/picture?type=small"; } catch (Exception ex) { } try { _TwitterDirectMessages.recipientId = msg_item["to"]["data"][0]["id"].ToString(); } catch (Exception ex) { } try { _TwitterDirectMessages.recipientScreenName = msg_item["to"]["data"][0]["name"].ToString(); } catch (Exception ex) { } try { _TwitterDirectMessages.recipientProfileUrl = "http://graph.facebook.com/" + _TwitterDirectMessages.recipientId + "/picture?type=small"; } catch (Exception ex) { } try { _TwitterDirectMessages.message = msg_item["message"].ToString(); if (string.IsNullOrEmpty(_TwitterDirectMessages.message)) { if ((msg_item["attachments"]["data"][0]["mime_type"].ToString()).Contains("image")) { _TwitterDirectMessages.image = msg_item["attachments"]["data"][0]["image_data"]["url"].ToString(); } else { _TwitterDirectMessages.message = msg_item["attachments"]["data"][0]["name"].ToString(); } } } catch (Exception ex) { } try { _TwitterDirectMessages.image = msg_item["shares"]["data"][0]["link"].ToString(); } catch (Exception ex) { } if (_TwitterDirectMessages.senderId == ProfileId) { _TwitterDirectMessages.type = Domain.Socioboard.Enum.TwitterMessageType.FacebookPageDirectMessageSent; } else { _TwitterDirectMessages.type = Domain.Socioboard.Enum.TwitterMessageType.FacebookPagDirectMessageReceived; } //code to add facebook page conversations MongoRepository mongorepo = new MongoRepository("MongoTwitterDirectMessages"); var ret = mongorepo.Find <Domain.Socioboard.Models.Mongo.MongoTwitterDirectMessages>(t => t.messageId == _TwitterDirectMessages.messageId); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count > 0) { } else { mongorepo.Add(_TwitterDirectMessages); } } } } else { apiHitsCount = MaxapiHitsCount; } } catch (Exception ex) { apiHitsCount = MaxapiHitsCount; } }