public string MoveFbMessageToMongo() { string output = string.Empty; bool exit = true; int skip = 0; MongoRepository mongorepo = new MongoRepository("FacebookMessage"); while (exit) { List <Domain.Socioboard.Domain.FacebookMessage> fbmsgs = objFacebookMessageRepository.getAllFacebookMessagesMongo(skip); if (fbmsgs.Count() == 0) { exit = false; } foreach (var item in fbmsgs) { Domain.Socioboard.MongoDomain.FacebookMessage mfbmsg = new Domain.Socioboard.MongoDomain.FacebookMessage(); mfbmsg.Id = MongoDB.Bson.ObjectId.GenerateNewId(); mfbmsg.EntryDate = item.EntryDate.ToString("yyyy/MM/dd HH:mm:ss"); mfbmsg.FbComment = item.FbComment; mfbmsg.FbLike = item.FbLike; mfbmsg.FromId = item.FromId; mfbmsg.FromName = item.FromName; mfbmsg.FromProfileUrl = item.FromProfileUrl; mfbmsg.IsArchived = item.IsArchived.ToString(); mfbmsg.Message = item.Message; mfbmsg.MessageDate = item.MessageDate.ToString("yyyy/MM/dd HH:mm:ss"); mfbmsg.MessageId = item.MessageId; mfbmsg.Picture = item.Picture; mfbmsg.ProfileId = item.ProfileId; mfbmsg.Type = item.Type; mfbmsg.UserId = item.UserId.ToString(); mongorepo.Add <Domain.Socioboard.MongoDomain.FacebookMessage>(mfbmsg); } skip = skip + 50; } return(output); }
public string MoveFbMessageToMongo() { string output = string.Empty; bool exit = true; int skip = 0; MongoRepository mongorepo = new MongoRepository("FacebookMessage"); while(exit) { List<Domain.Socioboard.Domain.FacebookMessage> fbmsgs = objFacebookMessageRepository.getAllFacebookMessagesMongo(skip); if (fbmsgs.Count() == 0) { exit = false; } foreach (var item in fbmsgs) { Domain.Socioboard.MongoDomain.FacebookMessage mfbmsg = new Domain.Socioboard.MongoDomain.FacebookMessage(); mfbmsg.Id = MongoDB.Bson.ObjectId.GenerateNewId(); mfbmsg.EntryDate = item.EntryDate.ToString("yyyy/MM/dd HH:mm:ss"); mfbmsg.FbComment = item.FbComment; mfbmsg.FbLike = item.FbLike; mfbmsg.FromId = item.FromId; mfbmsg.FromName = item.FromName; mfbmsg.FromProfileUrl = item.FromProfileUrl; mfbmsg.IsArchived = item.IsArchived.ToString(); mfbmsg.Message = item.Message; mfbmsg.MessageDate = item.MessageDate.ToString("yyyy/MM/dd HH:mm:ss"); mfbmsg.MessageId = item.MessageId; mfbmsg.Picture = item.Picture; mfbmsg.ProfileId = item.ProfileId; mfbmsg.Type = item.Type; mfbmsg.UserId = item.UserId.ToString(); mongorepo.Add<Domain.Socioboard.MongoDomain.FacebookMessage>(mfbmsg); } skip = skip + 50; } return output; }
private void AddFacebookUserHome(string UserId, FacebookClient fb, dynamic profile) { int K = 0; Domain.Socioboard.MongoDomain.FacebookMessage objFacebookMessage = new Domain.Socioboard.MongoDomain.FacebookMessage(); try { dynamic home = fb.Get("v2.0/me/home"); if (home != null) { int lstfbcount = 0; foreach (dynamic result in home["data"]) { string message = string.Empty; string imgprof = "http://graph.facebook.com/" + result["from"]["id"] + "/picture?type=small"; objFacebookMessage.EntryDate = DateTime.UtcNow.ToString(); objFacebookMessage.MessageId = result["id"].ToString(); objFacebookMessage.FromId = result["from"]["id"].ToString(); objFacebookMessage.FromName = result["from"]["name"].ToString(); objFacebookMessage.FromProfileUrl = imgprof; objFacebookMessage.Id = ObjectId.GenerateNewId(); objFacebookMessage.MessageDate = DateTime.Parse(result["created_time"].ToString()).ToString("yyyy/MM/dd HH:mm:ss"); objFacebookMessage.UserId =UserId; try { objFacebookMessage.Picture = result["picture"].ToString(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); objFacebookMessage.Picture = null; } try { if (result["message_tags"][0] != null) { if (result["to"] != null) { foreach (var item in result["to"]["data"]) { if (result["from"] != null) { if (item["id"] != profile["id"]) { if (result["from"]["id"] == profile["id"]) { objFacebookMessage.Type = "fb_tag"; } else { objFacebookMessage.Type = "fb_home"; } } else { objFacebookMessage.Type = "fb_home"; } } } } else { objFacebookMessage.Type = "fb_home"; } } else { objFacebookMessage.Type = "fb_home"; } } catch (Exception ex) { objFacebookMessage.Type = "fb_home"; Console.WriteLine(ex.StackTrace); } objFacebookMessage.ProfileId = profile["id"].ToString(); objFacebookMessage.FbComment = "http://graph.facebook.com/" + result["id"] + "/comments"; dynamic likes = fb.Get("v2.0/" + result["id"].ToString() + "/likes?limit=50000000"); string likestatus = "likes"; foreach (dynamic like in likes["data"]) { try { if (profile["id"].ToString() == like["id"].ToString()) { likestatus = "unlike"; break; } } catch (Exception ex) { likestatus = "likes"; } } objFacebookMessage.FbLike = likestatus; if (lstfbcount < 25) { try { if (result["message"] != null) { message = result["message"]; lstfbcount++; } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); try { if (result["description"] != null) { message = result["description"]; lstfbcount++; } } catch (Exception exx) { try { Console.WriteLine(exx.StackTrace); if (result["story"] != null) { message = result["story"]; lstfbcount++; } } catch (Exception exxx) { Console.WriteLine(exxx.StackTrace); message = string.Empty; } } } } objFacebookMessage.Message = message; //if (!objFacebookMessageRepository.checkFacebookMessageExists(objFacebookMessage.MessageId)) //{ K++; //objFacebookMessageRepository.addFacebookMessage(objFacebookMessage); MongoRepository mongorepo = new MongoRepository("FacebookMessage"); mongorepo.Add<Domain.Socioboard.MongoDomain.FacebookMessage>(objFacebookMessage); logger.Error("AddFacebookUserHomeCount>>>" + K); //} } } } catch (Exception ex) { Console.Write(ex.StackTrace); logger.Error(ex.Message); logger.Error(ex.StackTrace); } }
//Added by Sumit Gupta [02-02-15] private void AddFacebookMessageWithPagination(string UserId, FacebookClient fb, dynamic profile) { int J = 0; Domain.Socioboard.MongoDomain.FacebookMessage objFacebookMessage = new Domain.Socioboard.MongoDomain.FacebookMessage(); try { string nexturl = "v2.0/me/inbox"; for (int i = 0; i < 50; i++) { dynamic messages = fb.Get(nexturl); if (messages != null) { try { nexturl = messages["paging"]["next"].ToString(); logger.Error("Facebook.asmx >> AddFacebookMessageWithPagination >> nexturl : " + nexturl); } catch (Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); } foreach (dynamic result in messages["data"]) { try { foreach (dynamic message in result["comments"]["data"]) { objFacebookMessage.MessageId = message["id"]; objFacebookMessage.FromName = message["from"]["name"]; objFacebookMessage.FromId = message["from"]["id"]; objFacebookMessage.Message = message["message"]; objFacebookMessage.MessageDate = DateTime.Parse(message["created_time"].ToString()).ToString("yyyy/MM/dd HH:mm:ss"); objFacebookMessage.FromProfileUrl = "http://graph.facebook.com/" + message["from"]["id"] + "/picture?type=small"; objFacebookMessage.EntryDate = DateTime.UtcNow.ToString("yyyy/MM/dd HH:mm:ss"); objFacebookMessage.Id = ObjectId.GenerateNewId(); objFacebookMessage.ProfileId = profile["id"].ToString(); objFacebookMessage.Type = "inbox_message"; objFacebookMessage.UserId = UserId; //if (!objFacebookMessageRepository.checkFacebookMessageExists(objFacebookMessage.MessageId)) //{ J++; // objFacebookMessageRepository.addFacebookMessage(objFacebookMessage); MongoRepository mongorepo = new MongoRepository("FacebookMessage"); mongorepo.Add<Domain.Socioboard.MongoDomain.FacebookMessage>(objFacebookMessage); logger.Error("AddFacebookMessageWithPaginationCount>>>>" + J); //} } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } } } } } catch (Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); Console.WriteLine(ex.StackTrace); } }