public static Tasks AddTask(TasksViewModel _TasksViewModel, ILogger _logger, Helper.Cache _redisCache, Helper.AppSettings _appSettings) { try { Tasks _Tasks = new Tasks(); _Tasks.Id = ObjectId.GenerateNewId(); _Tasks.strId = ObjectId.GenerateNewId().ToString(); _Tasks.recipientUserId = _TasksViewModel.recipientUserId; _Tasks.senderUserId = _TasksViewModel.senderUserId; _Tasks.groupId = _TasksViewModel.groupId; _Tasks.readStaus = Domain.Socioboard.Enum.ReadStaus.Unread; _Tasks.taskMessage = _TasksViewModel.taskMessage; _Tasks.taskMessageImageUrl = _TasksViewModel.taskMessageImageUrl; _Tasks.taskStatus = Domain.Socioboard.Enum.TaskStatus.Pending; _Tasks.cratedOn = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); _Tasks.completeddOn = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); _Tasks.feedTableType = _TasksViewModel.feedTableType; _Tasks.feedTableId = _TasksViewModel.feedId; MongoRepository mongorepo = new MongoRepository("Tasks", _appSettings); mongorepo.Add <Tasks>(_Tasks); return(_Tasks); } catch (Exception ex) { throw; } }
public static List <Domain.Socioboard.Models.Mongo.GroupShareathon> GroupShareathonByUserId(long userId, Helper.AppSettings _appSettings, Helper.Cache _redisCache) { List <Domain.Socioboard.Models.Mongo.GroupShareathon> iMmemGroupShareathon = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.GroupShareathon> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupShareathonByUserId + userId); if (iMmemGroupShareathon != null) { return(iMmemGroupShareathon); } else { MongoRepository _ShareathonRepository = new MongoRepository("GroupShareathon", _appSettings); var ret = _ShareathonRepository.Find <Domain.Socioboard.Models.Mongo.GroupShareathon>(t => t.Userid == userId && t.FacebookStatus == 1); var task = Task.Run(async() => { return(await ret); }); _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupShareathonByUserId + userId, task.Result.ToList()); return(task.Result.ToList()); } }
public static string EditgroupShareathon(string GroupShareathodId, long userId, string FacebookUrl, string FacebookGroupId, string Facebookaccountid, int Timeintervalminutes, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr) { string[] groupids = null; string groupId = ""; string groupName = ""; Domain.Socioboard.Models.Facebookaccounts _Facebookaccounts = Repositories.FacebookRepository.getFacebookAccount(Facebookaccountid, _redisCache, dbr); string pageid = Helper.FacebookHelper.GetFbPageDetails(FacebookUrl, _Facebookaccounts.AccessToken); groupids = FacebookGroupId.Split(','); foreach (var item in groupids) { string[] grpId = Regex.Split(item, "<:>"); groupId = grpId[1] + ',' + groupId; groupName = grpId[0] + ',' + groupName; } try { MongoRepository _ShareathonRepository = new MongoRepository("GroupShareathon", _appSettings); var builders = Builders <BsonDocument> .Filter; FilterDefinition <BsonDocument> filter = builders.Eq("strId", GroupShareathodId); var update = Builders <BsonDocument> .Update.Set("Facebookaccountid", _Facebookaccounts.FbUserId).Set("Facebookusername", _Facebookaccounts.FbUserName).Set("FacebookPageId", pageid.TrimEnd(',')) .Set("Facebookgroupid", groupId.TrimEnd(',')).Set("FacebookPageUrl", FacebookUrl).Set("Facebookgroupname", groupName.TrimEnd(',')).Set("Facebooknameid", FacebookGroupId) .Set("Timeintervalminutes", Timeintervalminutes); _ShareathonRepository.Update <Domain.Socioboard.Models.Mongo.GroupShareathon>(update, filter); return("Success"); } catch (Exception ex) { return("Error"); } }
public static List <Domain.Socioboard.Models.Listening.LinkedGroupPost> GetFacebookGroupFeeds(string keyword, int skip, int count, Helper.Cache _redisCache, Helper.AppSettings _appSettings, ILogger _logger) { try { MongoRepository mongorepo = new MongoRepository("LinkedGroupPost", _appSettings); MongoRepository mongoreppo = new MongoRepository("GroupPostKeyWords", _appSettings); Domain.Socioboard.Models.Mongo.GroupPostKeyWords _GroupPostKeyWords = new Domain.Socioboard.Models.Mongo.GroupPostKeyWords(); _GroupPostKeyWords.id = ObjectId.GenerateNewId(); _GroupPostKeyWords.strId = ObjectId.GenerateNewId().ToString(); _GroupPostKeyWords.keyword = keyword; _GroupPostKeyWords.createdTime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); var retkeyword = mongoreppo.Find <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(t => t.keyword.Contains(keyword)); var taskkeyword = Task.Run(async() => { return(await retkeyword); }); int countkeyword = taskkeyword.Result.Count; if (count < 1) { mongoreppo.Add <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(_GroupPostKeyWords); } var builder = Builders <Domain.Socioboard.Models.Listening.LinkedGroupPost> .Sort; var sort = builder.Descending(t => t.DateTimeOfPost); var result = mongorepo.FindWithRange <Domain.Socioboard.Models.Listening.LinkedGroupPost>(t => t.Message.Contains(keyword), sort, skip, count); var task = Task.Run(async() => { return(await result); }); IList <Domain.Socioboard.Models.Listening.LinkedGroupPost> lstLinkFeeds = task.Result; for (int i = 0; i < lstLinkFeeds.Count; i++) { //lstLinkFeeds[i].Message = lstLinkFeeds[i].Message.Replace("%3F", " ").Replace("% 21", " ").Replace("%2C", " "); //lstLinkFeeds[i].Message = Regex.Replace(lstLinkFeeds[i].Message, "[|%21 %27 %21 %22]"," "); // // lstLinkFeeds[i].Message = Regex.Replace(lstLinkFeeds[i].Message, @"\r\n?|\n", " "); lstLinkFeeds[i].Message = lstLinkFeeds[i].Message.Replace("\\n", " ").Replace("\\r", " "); lstLinkFeeds[i].Message = System.Compat.Web.HttpUtility.UrlDecode(lstLinkFeeds[i].Message); } lstLinkFeeds.Select(s => { s.Message = WebUtility.HtmlDecode(s.Message); return(s); }).ToList(); return(lstLinkFeeds.ToList()); } catch (Exception ex) { _logger.LogError(ex.StackTrace); return(null); } }
public static string AddPageShareathon(long userId, string FacebookUrl, string FacebookPageId, string Facebookaccountid, int Timeintervalminutes, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr) { Domain.Socioboard.Models.Facebookaccounts objfacebook = Repositories.FacebookRepository.getFacebookAccount(Facebookaccountid, _redisCache, dbr); string pageid = Helper.FacebookHelper.GetFbPageDetails(FacebookUrl, objfacebook.AccessToken); string[] profileids = null; profileids = FacebookPageId.Split(','); string facebookpagename = ""; Domain.Socioboard.Models.Mongo.PageShareathon _Shareathon = new Domain.Socioboard.Models.Mongo.PageShareathon(); _Shareathon.Id = ObjectId.GenerateNewId(); _Shareathon.strId = ObjectId.GenerateNewId().ToString(); _Shareathon.Facebookaccountid = objfacebook.FbUserId; _Shareathon.Facebookusername = objfacebook.FbUserName; _Shareathon.Facebookpageid = FacebookPageId; _Shareathon.FacebookPageUrl = FacebookUrl; _Shareathon.FacebookPageUrlId = pageid.TrimEnd(','); foreach (var item in profileids) { Domain.Socioboard.Models.Facebookaccounts objfacebookpage = Repositories.FacebookRepository.getFacebookAccount(item, _redisCache, dbr); if (objfacebookpage != null) { facebookpagename = objfacebookpage.FbUserName + ',' + facebookpagename; } } _Shareathon.Facebookpagename = facebookpagename.TrimEnd(','); _Shareathon.FacebookStatus = 1; _Shareathon.Timeintervalminutes = Timeintervalminutes; _Shareathon.Userid = userId; _Shareathon.Lastsharetimestamp = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); MongoRepository _ShareathonRepository = new MongoRepository("Shareathon", _appSettings); var ret = _ShareathonRepository.Find <Domain.Socioboard.Models.Mongo.PageShareathon>(t => t.Facebookpageid == FacebookPageId && t.Facebookaccountid == Facebookaccountid && t.FacebookPageUrl == FacebookUrl && t.Userid == userId && t.FacebookStatus == 1); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count > 0) { return("already added"); } else { _ShareathonRepository.Add(_Shareathon); return("added successfully"); } }
public static List <Domain.Socioboard.ViewModels.DiscoveryViewModal> DiscoverySearchGplus(long userId, long groupId, string keyword, Helper.Cache _redisCache, Helper.AppSettings _appSeetings, Model.DatabaseRepository dbr) { List <Domain.Socioboard.ViewModels.DiscoveryViewModal> iMmemDiscoveryViewModal = _redisCache.Get <List <Domain.Socioboard.ViewModels.DiscoveryViewModal> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryGplus + keyword); if (iMmemDiscoveryViewModal != null && iMmemDiscoveryViewModal.Count > 0) { return(iMmemDiscoveryViewModal); } else { List <Domain.Socioboard.ViewModels.DiscoveryViewModal> lstDiscoveryViewModal = Helper.GplusDiscoverySearchHelper.DiscoverySearchGplus(userId, keyword, _appSeetings.GoogleApiKeyForRssFeed); _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryGplus + keyword, lstDiscoveryViewModal); return(lstDiscoveryViewModal); } }
public static string ParseFeedUrl(string TextUrl, string keywords, string userId, Helper.AppSettings _appSettings) { MongoRepository _RssFeedRepository = new MongoRepository("RssNewsContentsFeeds", _appSettings); try { XmlDocument xmlDoc = new XmlDocument(); // Create an XML document object xmlDoc.Load(TextUrl); var abc = xmlDoc.DocumentElement.GetElementsByTagName("item"); foreach (XmlElement item in abc) { Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds objRssFeeds = new Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds(); try { objRssFeeds.Id = ObjectId.GenerateNewId(); // objRssFeeds.strId = ObjectId.GenerateNewId().ToString(); try { objRssFeeds.Message = item.ChildNodes[9].InnerText; objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "<.*?>", string.Empty).Replace("[…]", ""); objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "@<[^>]+>| ", string.Empty); } catch (Exception ex) { try { if (item.ChildNodes[2].InnerText.Contains("www") && item.ChildNodes[2].InnerText.Contains("http")) { objRssFeeds.Message = item.ChildNodes[1].InnerText; objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "<.*?>", string.Empty).Replace("[…]", ""); objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "@<[^>]+>| ", string.Empty); } else { objRssFeeds.Message = item.ChildNodes[2].InnerText; objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "<.*?>", string.Empty).Replace("[…]", ""); objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "@<[^>]+>| ", string.Empty); } } catch { objRssFeeds.Message = item.ChildNodes[1].InnerText; objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "<.*?>", string.Empty).Replace("[…]", ""); objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "@<[^>]+>| ", string.Empty); } } try { objRssFeeds.PublishingDate = DateTime.Parse(item.ChildNodes[4].InnerText).ToString("yyyy/MM/dd HH:mm:ss"); } catch (Exception ex) { objRssFeeds.PublishingDate = DateTime.Parse(item.ChildNodes[3].InnerText).ToString("yyyy/MM/dd HH:mm:ss"); } objRssFeeds.Title = item.ChildNodes[0].InnerText; if (item.ChildNodes[1].InnerText.Contains("www") || item.ChildNodes[1].InnerText.Contains("http")) { try { objRssFeeds.Image = item.ChildNodes[1].InnerText; objRssFeeds.Image = getBetween(objRssFeeds.Image, "src=\"", "\""); objRssFeeds.Link = item.ChildNodes[1].InnerText; objRssFeeds.Link = getBetween(objRssFeeds.Link, "<a href=\"", "\">"); } catch (Exception ex) { objRssFeeds.Link = item.ChildNodes[2].InnerText; objRssFeeds.Link = getBetween(objRssFeeds.Link, "<a href=\"", "\">"); } } else { objRssFeeds.Link = item.ChildNodes[2].InnerText; // objRssFeeds.Link = getBetween(objRssFeeds.Link, "<a href=\"", "\">"); } if (item.BaseURI.Contains("http://feeds.bbci.co.uk") || item.BaseURI.Contains("http://www.hindustantimes.com")) { objRssFeeds.Image = item.ChildNodes[5].OuterXml; objRssFeeds.Image = getBetween(objRssFeeds.Image, "url=\"", "\"");//media:content url=" } objRssFeeds.RssFeedUrl = TextUrl; objRssFeeds.UserId = userId; objRssFeeds.keywords = keywords; var ret = _RssFeedRepository.Find <Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds>(t => t.Link == objRssFeeds.Link && t.UserId == userId); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count < 1) { _RssFeedRepository.Add(objRssFeeds); } } catch (Exception ex) { } } return("ok"); } catch (Exception ex) { return("invalid url"); } }
public static string PostRssfeed(Domain.Socioboard.Enum.SocialProfileType profiletype, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr, Helper.Cache _redisCache) { string ret = ""; MongoRepository _RssFeedRepository = new MongoRepository("RssFeed", _appSettings); List <Domain.Socioboard.Models.Mongo.RssFeed> objrssdata = new List <Domain.Socioboard.Models.Mongo.RssFeed>(); var rt = _RssFeedRepository.Find <Domain.Socioboard.Models.Mongo.RssFeed>(t => t.Status == false && t.ProfileType.Equals(profiletype)); var task = Task.Run(async() => { return(await rt); }); IList <Domain.Socioboard.Models.Mongo.RssFeed> _objrssdata = task.Result; objrssdata = _objrssdata.ToList(); foreach (var item in objrssdata) { if (profiletype == Domain.Socioboard.Enum.SocialProfileType.Facebook) { try { Domain.Socioboard.Models.Facebookaccounts _Facebookaccounts = Repositories.FacebookRepository.getFacebookAccount(item.ProfileId, _redisCache, dbr); ret = Helper.FacebookHelper.FacebookComposeMessageRss(item.Message, _Facebookaccounts.AccessToken, _Facebookaccounts.FbUserId, item.Title, item.Link, item.strId, _appSettings); } catch (Exception ex) { return(""); } } else if (profiletype == Domain.Socioboard.Enum.SocialProfileType.Twitter) { try { string message = ""; string UrlShortendata = GetShortenUrl(item.Link, _appSettings); string shortenUrl = string.Empty; try { JObject JData = JObject.Parse(UrlShortendata); if (JData["status_txt"].ToString() == "OK") { shortenUrl = JData["data"]["url"].ToString(); } } catch (Exception ex) { } if (item.Message.Length > 115) { message = item.Message.Substring(0, 115); } else { message = item.Message; } message += " " + shortenUrl; Domain.Socioboard.Models.TwitterAccount _TwitterAccount = Repositories.TwitterRepository.getTwitterAccount(item.ProfileId, _redisCache, dbr); ret = Helper.TwitterHelper.TwitterComposeMessageRss(message, _TwitterAccount.oAuthToken, _TwitterAccount.oAuthSecret, _TwitterAccount.twitterUserId, _TwitterAccount.twitterScreenName, item.strId, _appSettings); } catch (Exception ex) { return(""); } } } return(ret); }
public static string EditFeedUrl(string NewFeedUrl, string OldFeedUrl, string RssId, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr) { Domain.Socioboard.Models.RssFeedUrl _RssFeedUrl = new Domain.Socioboard.Models.RssFeedUrl(); _RssFeedUrl = dbr.Find <Domain.Socioboard.Models.RssFeedUrl>(t => t.rssurl.Contains(OldFeedUrl)).FirstOrDefault(); _RssFeedUrl.rssurl = NewFeedUrl; dbr.Update <Domain.Socioboard.Models.RssFeedUrl>(_RssFeedUrl); _RssFeedUrl = dbr.FindSingle <Domain.Socioboard.Models.RssFeedUrl>(t => t.rssurl.Contains(NewFeedUrl)); try { MongoRepository _RssRepository = new MongoRepository("Rss", _appSettings); var builders = Builders <BsonDocument> .Filter; FilterDefinition <BsonDocument> filter = builders.Eq("strId", RssId); var update = Builders <BsonDocument> .Update.Set("RssFeedUrl", NewFeedUrl).Set("rssFeedUrl", _RssFeedUrl); _RssRepository.Update <Domain.Socioboard.Models.Mongo.Rss>(update, filter); return("Success"); } catch (Exception ex) { return("Error"); } }
public static List <TaskCommentsViewModel> GetAllCompletedTasksOfUserAndGroup(Int64 recipientUserId, Int64 groupId, ILogger _logger, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository _dbr) { try { List <TaskCommentsViewModel> lstTaskCommentsViewModel = new List <TaskCommentsViewModel>(); MongoRepository taskmongorepo = new MongoRepository("Tasks", _appSettings); MongoRepository taskcommentmongorepo = new MongoRepository("TaskComments", _appSettings); var ret = taskmongorepo.Find <Tasks>(t => t.groupId == groupId && t.recipientUserId == recipientUserId && t.taskStatus == Domain.Socioboard.Enum.TaskStatus.Completed); var task = Task.Run(async() => { return(await ret); }); IList <Tasks> lstTask = task.Result.ToList(); foreach (Tasks item in lstTask) { TaskCommentsViewModel taskCommentsViewModel = new TaskCommentsViewModel(); var ret1 = taskcommentmongorepo.Find <TaskComments>(t => t.taskId == item.strId); var task1 = Task.Run(async() => { return(await ret1); }); taskCommentsViewModel.tasks = item; taskCommentsViewModel.user = _dbr.FindSingle <User>(t => t.Id == item.senderUserId); IList <TaskComments> lstTaskComment = task1.Result.ToList(); List <TaskCommentViewModel> lstCommentViewModel = new List <TaskCommentViewModel>(); foreach (TaskComments item1 in lstTaskComment) { TaskCommentViewModel commentViewModel = new TaskCommentViewModel(); commentViewModel.taskComments = item1; commentViewModel.user = _dbr.FindSingle <User>(t => t.Id == item1.userId); lstCommentViewModel.Add(commentViewModel); } taskCommentsViewModel.lstTaskComments = lstCommentViewModel; lstTaskCommentsViewModel.Add(taskCommentsViewModel); } return(lstTaskCommentsViewModel); } catch (Exception ex) { _logger.LogError(ex.Message); return(new List <TaskCommentsViewModel>()); } }
public static List <Domain.Socioboard.Models.Mongo.RssFeed> GetPostedRssDataByUser(long userId, long groupId, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr) { string[] profileids = null; MongoRepository _RssRepository = new MongoRepository("RssFeed", _appSettings); List <Domain.Socioboard.Models.Mongo.RssFeed> lstRss = new List <Domain.Socioboard.Models.Mongo.RssFeed>(); List <Domain.Socioboard.Models.Groupprofiles> lstGroupprofiles = dbr.Find <Domain.Socioboard.Models.Groupprofiles>(t => t.groupId == groupId).ToList(); profileids = lstGroupprofiles.Select(t => t.profileId).ToArray(); var ret = _RssRepository.Find <Domain.Socioboard.Models.Mongo.RssFeed>(t => profileids.Contains(t.ProfileId)); var task = Task.Run(async() => { return(await ret); }); return(lstRss = task.Result.ToList()); }
public static void DeleteTaskComment(string taskCommnetId, ILogger _logger, Helper.Cache _redisCache, Helper.AppSettings _appSettings) { try { MongoRepository taskcommentmongorepo = new MongoRepository("TaskComments", _appSettings); taskcommentmongorepo.DeleteMany <TaskComments>(t => t.strId == taskCommnetId); } catch (Exception) { throw; } }
public static void MarkTaskCompleted(string taskId, ILogger _logger, Helper.Cache _redisCache, Helper.AppSettings _appSettings) { try { MongoRepository taskmongorepo = new MongoRepository("Tasks", _appSettings); var ret = taskmongorepo.Find <Tasks>(t => t.strId == taskId); var task = Task.Run(async() => { return(await ret); }); Tasks selectedTask = task.Result.ToList().FirstOrDefault(); selectedTask.completeddOn = (long)Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); selectedTask.taskStatus = Domain.Socioboard.Enum.TaskStatus.Completed; //taskmongorepo.UpdateReplace(selectedTask, t=>t.strId == taskId ); FilterDefinition <BsonDocument> filter = new BsonDocument("strId", selectedTask.strId); var update = Builders <BsonDocument> .Update.Set("completeddOn", selectedTask.completeddOn).Set("taskStatus", selectedTask.taskStatus); taskmongorepo.Update <Tasks>(update, filter); } catch (Exception) { throw; } }
public static TaskComments AddTaskComment(Int64 userId, string taskId, string commentText, ILogger _logger, Helper.Cache _redisCache, Helper.AppSettings _appSettings) { try { TaskComments _TaskComments = new TaskComments(); _TaskComments.Id = ObjectId.GenerateNewId(); _TaskComments.strId = ObjectId.GenerateNewId().ToString(); _TaskComments.userId = userId; _TaskComments.taskId = taskId; _TaskComments.commentText = commentText; _TaskComments.createdOn = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); MongoRepository mongorepo = new MongoRepository("TaskComments", _appSettings); mongorepo.Add <TaskComments>(_TaskComments); return(_TaskComments); } catch (Exception) { throw; } }
public static List <Domain.Socioboard.ViewModels.DiscoveryViewModal> DiscoverySearchTwitter(long userId, long groupId, string keyword, Helper.Cache _redisCache, Helper.AppSettings _appSeetings, Model.DatabaseRepository dbr) { List <Domain.Socioboard.ViewModels.DiscoveryViewModal> iMmemDiscoveryViewModal = _redisCache.Get <List <Domain.Socioboard.ViewModels.DiscoveryViewModal> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryTwitter + keyword); if (iMmemDiscoveryViewModal != null && iMmemDiscoveryViewModal.Count > 0) { return(iMmemDiscoveryViewModal); } else { oAuthTwitter oauth = new oAuthTwitter(); Domain.Socioboard.Models.Discovery _discovery = new Domain.Socioboard.Models.Discovery(); List <Domain.Socioboard.Models.TwitterAccount> lsttwtaccount = dbr.Find <Domain.Socioboard.Models.TwitterAccount>(t => t.oAuthSecret != null).Take(20).ToList(); List <Domain.Socioboard.Models.Discovery> lstdiscovery = dbr.Find <Domain.Socioboard.Models.Discovery>(t => t.SearchKeyword.Equals(keyword) && t.userId == userId).ToList(); if (lstdiscovery.Count == 0) { _discovery.createTime = DateTime.UtcNow; _discovery.GroupId = groupId; _discovery.SearchKeyword = keyword; _discovery.userId = userId; dbr.Add(_discovery); } foreach (Domain.Socioboard.Models.TwitterAccount item in lsttwtaccount) { oauth.AccessToken = item.oAuthToken; oauth.AccessTokenSecret = item.oAuthSecret; oauth.TwitterUserId = item.twitterUserId; oauth.TwitterScreenName = item.twitterScreenName; SetCofigDetailsForTwitter(oauth, _appSeetings); try { Users _Users = new Users(); JArray _AccountVerify = _Users.Get_Account_Verify_Credentials(oauth); string id = (string)(_AccountVerify[0]["id_str"]); break; } catch (Exception ex) { } } List <Domain.Socioboard.ViewModels.DiscoveryViewModal> lstdiscoveryDiscoveryViewModal = Helper.TwitterHelper.DiscoverySearchTwitter(oauth, keyword, userId, groupId); if (lstdiscoveryDiscoveryViewModal.Count > 0) { _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryTwitter + keyword, lstdiscoveryDiscoveryViewModal); } return(lstdiscoveryDiscoveryViewModal); } }
public static string DeleteFeedUrl(string RssId, Model.DatabaseRepository dbr, Helper.AppSettings _appSettings) { try { MongoRepository _RssRepository = new MongoRepository("Rss", _appSettings); var builders = Builders <Domain.Socioboard.Models.Mongo.Rss> .Filter; FilterDefinition <Domain.Socioboard.Models.Mongo.Rss> filter = builders.Eq("strId", RssId); _RssRepository.Delete <Domain.Socioboard.Models.Mongo.Rss>(filter); return("success"); } catch (Exception ex) { return("Error"); } }
public static void SetCofigDetailsForTwitter(oAuthTwitter OAuth, Helper.AppSettings _appSettings) { OAuth.ConsumerKey = _appSettings.twitterConsumerKey; OAuth.ConsumerKeySecret = _appSettings.twitterConsumerScreatKey; OAuth.CallBackUrl = _appSettings.twitterRedirectionUrl; }
public static string AddRssFeed(string TextUrl, long Userid, Domain.Socioboard.Models.RssFeedUrl _RssFeedUrl, string profileId, Domain.Socioboard.Enum.SocialProfileType ProfileType, string profileimageurl, string profilename, Model.DatabaseRepository dbr, Helper.AppSettings _appSettings) { int UrlAdded = 0; string RetMsg = string.Empty; MongoRepository _RssRepository = new MongoRepository("Rss", _appSettings); string rt = ParseFeedUrl(TextUrl, ProfileType, profileId, Userid, profilename, profileimageurl, _appSettings); var ret = _RssRepository.Find <Domain.Socioboard.Models.Mongo.Rss>(t => t.RssFeedUrl.Equals(TextUrl) && t.ProfileId.Contains(profileId) && t.ProfileType == ProfileType && t.UserId.Equals(Userid)); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count < 1) { if (rt == "ok") { Domain.Socioboard.Models.Mongo.Rss _Rss = new Domain.Socioboard.Models.Mongo.Rss(); _Rss.Id = ObjectId.GenerateNewId(); _Rss.strId = ObjectId.GenerateNewId().ToString(); _Rss.RssFeedUrl = TextUrl; _Rss.ProfileType = ProfileType; _Rss.ProfileId = profileId; _Rss.UserId = Userid; _Rss.ProfileImageUrl = profileimageurl; _Rss.ProfileName = profilename; _Rss.rssFeedUrl = _RssFeedUrl; _Rss.CreatedOn = DateTime.UtcNow.ToString("yyyy/MM/dd HH:mm:ss"); _RssRepository.Add(_Rss); UrlAdded++; } else { return("Please Fill Correct Url For Feeds"); } } else { } if (UrlAdded == 1) { RetMsg = "Url for " + UrlAdded.ToString() + " account is added"; } else if (UrlAdded > 1) { RetMsg = "Url for " + UrlAdded.ToString() + " accounts is added"; } else { RetMsg = "Url has already added"; } return(RetMsg); }
public static string AddRssContentsUrl(string keywords, string userId, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr) { var _rssNewsContents = new MongoRepository("RssNewsContents", _appSettings); var list = new List <string>(); list = findUrl(keywords).ToList(); var _rssnews = new RssNewsContents(); Domain.Socioboard.Models.RssFeedUrl _RssContentFeeds = new Domain.Socioboard.Models.RssFeedUrl(); foreach (var urlValue in list) { if (urlValue != null) { string rt = ParseFeedUrl(urlValue.ToString(), keywords, userId, _appSettings); _RssContentFeeds = dbr.FindSingle <Domain.Socioboard.Models.RssFeedUrl>(t => t.rssurl.Contains(urlValue) && t.Keywords != null); if (_RssContentFeeds == null) { _RssContentFeeds = new Domain.Socioboard.Models.RssFeedUrl { rssurl = urlValue, LastUpdate = DateTime.UtcNow, Keywords = keywords }; try { dbr.Add(_RssContentFeeds); } catch (Exception error) { // ignored } } var ret = _rssNewsContents.Find <RssNewsContents>(t => t.RssFeedUrl.Equals(urlValue) && t.ProfileId.Contains(userId)); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count < 1) { _rssnews.Id = ObjectId.GenerateNewId(); _rssnews.ProfileId = userId; _rssnews.RssFeedUrl = urlValue; _rssnews.LastUpdate = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); _rssNewsContents.Add(_rssnews); } else { return("Data already added"); } } } return("added successfully"); }
public static string ParseFeedUrl(string TextUrl, Domain.Socioboard.Enum.SocialProfileType profiletype, string profileid, long userId, string profileName, string profileImageUrl, Helper.AppSettings _appSettings) { MongoRepository _RssFeedRepository = new MongoRepository("RssFeed", _appSettings); try { XmlDocument xmlDoc = new XmlDocument(); // Create an XML document object xmlDoc.Load(TextUrl); var abc = xmlDoc.DocumentElement.GetElementsByTagName("item"); foreach (XmlElement item in abc) { Domain.Socioboard.Models.Mongo.RssFeed objRssFeeds = new Domain.Socioboard.Models.Mongo.RssFeed(); try { objRssFeeds.Id = ObjectId.GenerateNewId(); objRssFeeds.strId = ObjectId.GenerateNewId().ToString(); objRssFeeds.ProfileName = profileName; objRssFeeds.ProfileImageUrl = profileImageUrl; try { objRssFeeds.Message = item.ChildNodes[9].InnerText; objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "<.*?>", string.Empty).Replace("[…]", ""); objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "@<[^>]+>| ", string.Empty); } catch (Exception ex) { try { if (item.ChildNodes[2].InnerText.Contains("www") && item.ChildNodes[2].InnerText.Contains("http")) { objRssFeeds.Message = item.ChildNodes[1].InnerText; objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "<.*?>", string.Empty).Replace("[…]", ""); objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "@<[^>]+>| ", string.Empty); } else { objRssFeeds.Message = item.ChildNodes[2].InnerText; objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "<.*?>", string.Empty).Replace("[…]", ""); objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "@<[^>]+>| ", string.Empty); } } catch { objRssFeeds.Message = item.ChildNodes[1].InnerText; objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "<.*?>", string.Empty).Replace("[…]", ""); objRssFeeds.Message = Regex.Replace(objRssFeeds.Message, "@<[^>]+>| ", string.Empty); } } try { objRssFeeds.PublishingDate = DateTime.Parse(item.ChildNodes[4].InnerText).ToString("yyyy/MM/dd HH:mm:ss"); } catch (Exception ex) { objRssFeeds.PublishingDate = DateTime.Parse(item.ChildNodes[3].InnerText).ToString("yyyy/MM/dd HH:mm:ss"); } objRssFeeds.Title = item.ChildNodes[0].InnerText; if (item.ChildNodes[1].InnerText.Contains("www") || item.ChildNodes[1].InnerText.Contains("http")) { try { objRssFeeds.Link = item.ChildNodes[1].InnerText; } catch (Exception ex) { objRssFeeds.Link = item.ChildNodes[2].InnerText; } } else { objRssFeeds.Link = item.ChildNodes[2].InnerText; } objRssFeeds.RssFeedUrl = TextUrl; objRssFeeds.ProfileId = profileid; objRssFeeds.ProfileType = profiletype; objRssFeeds.Status = false; var ret = _RssFeedRepository.Find <Domain.Socioboard.Models.Mongo.RssFeed>(t => t.Link.Equals(objRssFeeds.Link) && t.ProfileId.Equals(profileid) && t.ProfileType.Equals(profiletype)); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count < 1) { _RssFeedRepository.Add(objRssFeeds); } } catch (Exception ex) { } } return("ok"); } catch (Exception ex) { return("invalid url"); } }
public static List <Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds> GetRssNewsPostedFeeds(string userId, Helper.Cache _redisCache, Helper.AppSettings _appSettings) { string[] profileids = null; //MongoRepository _RssRepository = new MongoRepository("RssNewsContentsFeeds", _appSettings); List <Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds> _RssRepository = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheTwitterRecent100Feeds + userId); if (_RssRepository != null) { return(_RssRepository); } else { MongoRepository mongorepo = new MongoRepository("RssNewsContentsFeeds", _appSettings); // MongoRepository mongorepo = new MongoRepository("MongoTwitterFeed", settings); var builder = Builders <RssNewsContentsFeeds> .Sort; var sort = builder.Descending(t => t.PublishingDate); var result = mongorepo.FindWithRange <RssNewsContentsFeeds>(t => t.UserId.Equals(userId), sort, 0, 200); var task = Task.Run(async() => { return(await result); }); IList <RssNewsContentsFeeds> lstRss = task.Result; if (lstRss != null) { _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheTwitterRecent100Feeds + userId, lstRss.ToList()); return(lstRss.ToList()); } return(null); } // List<Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds> lstRss = new List<Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds>(); //List<Domain.Socioboard.Models.Groupprofiles> lstGroupprofiles = dbr.Find<Domain.Socioboard.Models.Groupprofiles>(t => t.profileOwnerId == userId).ToList(); //profileids = lstGroupprofiles.Select(t => t.profileId).ToArray(); //var ret = _RssRepository.Find<Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds>(t => t.UserId == userId);//UserId //var task = Task.Run(async () => //{ // return await ret; //}); // return lstRss = task.Result.ToList(); }
public static IList <Domain.Socioboard.Models.Groupprofiles> GetYtGroupChannel(Int64 userId, Helper.AppSettings settings, ILogger _logger, Model.DatabaseRepository dbr) { IList <Domain.Socioboard.Models.YoutubeGroupInvite> _lstMembers = dbr.Find <Domain.Socioboard.Models.YoutubeGroupInvite>(t => t.UserId == userId && t.AccessSBUserId != userId && t.Active == true); List <Int64> userOwnerIdss = _lstMembers.Select(t => t.AccessSBUserId).ToList(); IList <Domain.Socioboard.Models.Groupprofiles> _lstchannelsss = dbr.Find <Domain.Socioboard.Models.Groupprofiles>(t => userOwnerIdss.Contains(t.profileOwnerId) && t.profileType == Domain.Socioboard.Enum.SocialProfileType.YouTube); return(_lstchannelsss); }
public static List <Domain.Socioboard.Models.Listening.FaceBookGroupPost> GetFacebookGroupFeeds(string keyword, int skip, int count, Helper.Cache _redisCache, Helper.AppSettings _appSettings) { //List<Domain.Socioboard.Models.Listening.FacebookGroupPost> iMmemFacebookGroupPost = _redisCache.Get<List<Domain.Socioboard.Models.Listening.FacebookGroupPost>>(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryFacebookGroupPost + keyword); //if (iMmemFacebookGroupPost != null && iMmemFacebookGroupPost.Count > 0) //{ // return iMmemFacebookGroupPost; //} //else //{ MongoRepository mongorepo = new MongoRepository("FaceBookGroupPost", _appSettings); MongoRepository mongoreppo = new MongoRepository("GroupPostKeyWords", _appSettings); var builder = Builders <Domain.Socioboard.Models.Listening.FaceBookGroupPost> .Sort; var sort = builder.Descending(t => t.DateTimeOfPost); var result = mongorepo.FindWithRange <Domain.Socioboard.Models.Listening.FaceBookGroupPost>(t => t.Message.Contains(keyword), sort, skip, count); //var result = mongorepo.FindAll<Domain.Socioboard.Models.Listening.FaceBookGroupPost>(); var task = Task.Run(async() => { return(await result); }); IList <Domain.Socioboard.Models.Listening.FaceBookGroupPost> lstFbFeeds = task.Result; for (int i = 0; i < lstFbFeeds.Count; i++) { // lstFbFeeds[i].Message = lstFbFeeds[i].Message.Replace("%20"," ").Replace("21%", " ").Replace("2%"," ").Replace("\n"," ").Replace("%3F"," ").Replace("% 21"," "); //lstFbFeeds[i].Message = Regex.Replace(lstFbFeeds[i].Message,"[%21%27%21%22]"," "); lstFbFeeds[i].Message = lstFbFeeds[i].Message.Replace("\\n", " ").Replace("\\r", " "); lstFbFeeds[i].Message = HttpUtility.UrlDecode(lstFbFeeds[i].Message); } lstFbFeeds = lstFbFeeds.GroupBy(t => t.Message).Select(g => g.First()).ToList(); if (lstFbFeeds.Count > 0) { // _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryFacebookGroupPost + keyword, lstFbFeeds.ToList()); } Domain.Socioboard.Models.Mongo.GroupPostKeyWords _GroupPostKeyWords = new Domain.Socioboard.Models.Mongo.GroupPostKeyWords(); _GroupPostKeyWords.id = ObjectId.GenerateNewId(); _GroupPostKeyWords.strId = ObjectId.GenerateNewId().ToString(); _GroupPostKeyWords.keyword = keyword; _GroupPostKeyWords.createdTime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); var retkeyword = mongoreppo.Find <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(t => t.keyword.Contains(keyword)); var taskkeyword = Task.Run(async() => { return(await retkeyword); }); int countkeyword = taskkeyword.Result.Count; if (count < 1) { mongoreppo.Add <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(_GroupPostKeyWords); } lstFbFeeds.Select(s => { s.Message = WebUtility.HtmlDecode(s.Message); return(s); }).ToList(); return(lstFbFeeds.ToList()); //} }
public static Domain.Socioboard.Models.YoutubeGroupInvite InviteGroupMember(Int64 userId, string emailId, Helper.AppSettings settings, ILogger _logger, Model.DatabaseRepository dbr) { YoutubeGroupInvite _objGrp = new YoutubeGroupInvite(); IList <Domain.Socioboard.Models.User> lstUser = dbr.Find <Domain.Socioboard.Models.User>(t => t.Id == userId || t.EmailId == emailId); Domain.Socioboard.Models.User _SBUser = lstUser.FirstOrDefault(t => t.Id == userId); Domain.Socioboard.Models.User _SBUserInvite = lstUser.FirstOrDefault(t => t.EmailId == emailId); IList <Domain.Socioboard.Models.YoutubeGroupInvite> lstGrpUser = dbr.Find <Domain.Socioboard.Models.YoutubeGroupInvite>(t => t.AccessSBUserId == userId); Domain.Socioboard.Models.YoutubeGroupInvite _grpOwner = lstGrpUser.FirstOrDefault(t => t.UserId == userId); Domain.Socioboard.Models.YoutubeGroupInvite _grpInvMem = lstGrpUser.FirstOrDefault(t => t.SBEmailId == emailId); if (_grpOwner == null) { _objGrp.UserId = _SBUser.Id; _objGrp.Owner = true; _objGrp.OwnerName = _SBUser.FirstName + " " + _SBUser.LastName; _objGrp.Active = true; _objGrp.SBUserName = _SBUser.FirstName + " " + _SBUser.LastName; _objGrp.SBEmailId = _SBUser.EmailId; _objGrp.OwnerEmailid = _SBUser.EmailId; if (_SBUser.ProfilePicUrl == null || _SBUser.ProfilePicUrl == "") { _objGrp.SBProfilePic = "https://i.imgur.com/zqN47Qp.png"; } else { _objGrp.SBProfilePic = _SBUser.ProfilePicUrl; } _objGrp.AccessSBUserId = userId; dbr.Add(_objGrp); } if (_SBUserInvite != null && _grpInvMem == null) { _objGrp.UserId = _SBUserInvite.Id; _objGrp.Owner = false; _objGrp.OwnerName = _SBUser.FirstName + " " + _SBUser.LastName; _objGrp.OwnerEmailid = _SBUser.EmailId; _objGrp.Active = false; _objGrp.SBUserName = _SBUserInvite.FirstName + " " + _SBUserInvite.LastName; _objGrp.SBEmailId = _SBUserInvite.EmailId; if (_SBUserInvite.ProfilePicUrl == null || _SBUserInvite.ProfilePicUrl == "") { _objGrp.SBProfilePic = "https://i.imgur.com/zqN47Qp.png"; } else { _objGrp.SBProfilePic = _SBUserInvite.ProfilePicUrl; } _objGrp.AccessSBUserId = userId; _objGrp.EmailValidationToken = SBHelper.RandomString(35); dbr.Add(_objGrp); return(_objGrp); } else if (_SBUserInvite == null && _grpInvMem == null) { _objGrp.UserId = 0; _objGrp.Owner = false; _objGrp.OwnerName = _SBUser.FirstName + " " + _SBUser.LastName; _objGrp.OwnerEmailid = _SBUser.EmailId; _objGrp.Active = false; _objGrp.SBUserName = "******"; _objGrp.SBEmailId = emailId; _objGrp.SBProfilePic = "https://i.imgur.com/zqN47Qp.png"; _objGrp.EmailValidationToken = SBHelper.RandomString(35); _objGrp.AccessSBUserId = userId; dbr.Add(_objGrp); return(_objGrp); } else if (_grpInvMem.Active == false) { return(_grpInvMem); } else { return(null); } }
public static string AddGroupShareathon(long userId, string FacebookUrl, string FacebookGroupId, string Facebookaccountid, int Timeintervalminutes, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr) { string[] profileids = null; string[] groupids = null; string groupId = ""; string groupName = ""; Domain.Socioboard.Models.Facebookaccounts _Facebookaccounts = Repositories.FacebookRepository.getFacebookAccount(Facebookaccountid, _redisCache, dbr); string pageid = Helper.FacebookHelper.GetFbPageDetails(FacebookUrl, _Facebookaccounts.AccessToken); Domain.Socioboard.Models.Mongo.GroupShareathon _GroupShareathon = new Domain.Socioboard.Models.Mongo.GroupShareathon(); _GroupShareathon.Id = ObjectId.GenerateNewId(); _GroupShareathon.strId = ObjectId.GenerateNewId().ToString(); _GroupShareathon.Userid = userId; _GroupShareathon.Timeintervalminutes = Timeintervalminutes; _GroupShareathon.FacebookStatus = 1; _GroupShareathon.FacebookPageUrl = FacebookUrl; _GroupShareathon.Facebookpageid = pageid.TrimEnd(','); _GroupShareathon.Facebooknameid = FacebookGroupId; groupids = FacebookGroupId.Split(','); foreach (var item in groupids) { string[] grpId = Regex.Split(item, "<:>"); groupId = grpId[1] + ',' + groupId; groupName = grpId[0] + ',' + groupName; } _GroupShareathon.Facebookgroupid = groupId.TrimEnd(','); _GroupShareathon.Facebookgroupname = groupName.TrimEnd(','); _GroupShareathon.Facebookaccountid = _Facebookaccounts.FbUserId; _GroupShareathon.Facebookusername = _Facebookaccounts.FbUserName; _GroupShareathon.AccessToken = _Facebookaccounts.AccessToken; _GroupShareathon.Lastsharetimestamp = Helper.DateExtension.ConvertToUnixTimestamp(DateTime.UtcNow); MongoRepository _ShareathonRepository = new MongoRepository("GroupShareathon", _appSettings); profileids = pageid.TrimEnd(',').Split(','); groupids = FacebookGroupId.TrimEnd(',').Split(','); string[] arrgroupids = groupId.Split(','); var ret = _ShareathonRepository.Find <Domain.Socioboard.Models.Mongo.GroupShareathon>(t => profileids.Contains(t.Facebookpageid) && t.Facebookaccountid == Facebookaccountid && t.Userid == userId && arrgroupids.Contains(t.Facebookgroupid)); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count > 0) { return("already added"); } else { _ShareathonRepository.Add(_GroupShareathon); return("added successfully"); } }
public static IList <Domain.Socioboard.Models.YoutubeGroupInvite> GetGroupMembers(Int64 userId, Helper.AppSettings settings, ILogger _logger, Model.DatabaseRepository dbr) { IList <Domain.Socioboard.Models.YoutubeGroupInvite> _lstMembers = dbr.Find <Domain.Socioboard.Models.YoutubeGroupInvite>(t => t.AccessSBUserId == userId); return(_lstMembers); }
public static List <Domain.Socioboard.Models.Mongo.LinkShareathon> LinkShareathonByUserId(long userId, Helper.AppSettings _appSettings, Helper.Cache _redisCache) { MongoRepository _ShareathonRepository = new MongoRepository("LinkShareathon", _appSettings); var ret = _ShareathonRepository.Find <Domain.Socioboard.Models.Mongo.LinkShareathon>(t => t.Userid == userId && t.IsActive); var task = Task.Run(async() => { return(await ret); }); return(task.Result.ToList()); }
public static List <Domain.Socioboard.Models.InstagramDiscoveryFeed> DiscoverySearchinstagram(string keyword, long userId, long groupId, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr) { List <Domain.Socioboard.Models.InstagramDiscoveryFeed> iMmemInstagramDiscoveryFeed = _redisCache.Get <List <Domain.Socioboard.Models.InstagramDiscoveryFeed> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryInstagram + keyword); List <Domain.Socioboard.Models.InstagramDiscoveryFeed> lstnstagramDiscoveryFeed = new List <Domain.Socioboard.Models.InstagramDiscoveryFeed>(); if (iMmemInstagramDiscoveryFeed != null && iMmemInstagramDiscoveryFeed.Count > 0) { return(iMmemInstagramDiscoveryFeed); } else { List <Domain.Socioboard.Models.Instagramaccounts> _Instagramaccounts = dbr.Find <Domain.Socioboard.Models.Instagramaccounts>(t => t.AccessToken != null).ToList(); foreach (var item in _Instagramaccounts) { lstnstagramDiscoveryFeed = Helper.InstagramHelper.DiscoverySearchinstagram(keyword, item.AccessToken, _appSettings.InstagramClientKey); if (lstnstagramDiscoveryFeed != null) { _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryInstagram + keyword, lstnstagramDiscoveryFeed); break; } } return(lstnstagramDiscoveryFeed); } }
public static string AddFacebookFeedShareDetail(long userId, string socialProfile, string FacebookPageId, string socialmedia, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr) { MongoRepository _fbFeedShareRepository = new MongoRepository("FacebookPageFeedShare", _appSettings); Domain.Socioboard.Models.Mongo.FacebookPageFeedShare _facebookfeedsShare = new Domain.Socioboard.Models.Mongo.FacebookPageFeedShare(); _facebookfeedsShare.Id = ObjectId.GenerateNewId(); _facebookfeedsShare.strId = ObjectId.GenerateNewId().ToString(); _facebookfeedsShare.userId = userId; _facebookfeedsShare.pageId = FacebookPageId; _facebookfeedsShare.socialProfiles = socialProfile; _facebookfeedsShare.socialmedia = socialmedia; _facebookfeedsShare.scheduleTime = DateTime.UtcNow; var ret = _fbFeedShareRepository.Find <Domain.Socioboard.Models.Mongo.FacebookPageFeedShare>(t => t.pageId == FacebookPageId && t.socialProfiles == socialProfile); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count < 1) { _fbFeedShareRepository.Add(_facebookfeedsShare); } return("added successfully"); }
public static List <Domain.Socioboard.ViewModels.YoutubeProfiles> GetYoutubeAccount(string code, Helper.AppSettings _appSettings) { Domain.Socioboard.ViewModels.YoutubeProfiles _YoutubeChannels; List <Domain.Socioboard.ViewModels.YoutubeProfiles> lstYoutubeProfiles = new List <Domain.Socioboard.ViewModels.YoutubeProfiles>(); string access_token = string.Empty; string refresh_token = string.Empty; Channels _Channels = new Channels("575089347457-74q0u81gj88ve5bfdmbklcf2dnc0353q.apps.googleusercontent.com", "JRtS_TaeYpKOJWBCqt9h8-iG", "http://localhost:9821/GoogleManager/Google"); try { oAuthTokenYoutube objToken = new oAuthTokenYoutube("575089347457-74q0u81gj88ve5bfdmbklcf2dnc0353q.apps.googleusercontent.com", "JRtS_TaeYpKOJWBCqt9h8-iG", "http://localhost:9821/GoogleManager/Google"); string accessToken = objToken.GetRefreshToken(code); JObject JData = JObject.Parse(accessToken); try { refresh_token = JData["refresh_token"].ToString(); } catch (Exception ex) { access_token = JData["access_token"].ToString(); objToken.RevokeToken(access_token); return(null); } access_token = JData["access_token"].ToString(); string channelsdata = _Channels.Get_Channel_List(access_token, "snippet,contentDetails,statistics", 50, true); JObject JChanneldata = JObject.Parse(channelsdata); foreach (var item in JChanneldata["items"]) { try { string channelid = item["id"].ToString(); string channelname = item["snippet"]["title"].ToString(); string channelimage = item["snippet"]["thumbnails"]["default"]["url"].ToString(); string publishdate = item["snippet"]["publishedAt"].ToString(); string viewscount = item["statistics"]["viewCount"].ToString(); string commentscount = item["statistics"]["commentCount"].ToString(); string subscriberscount = item["statistics"]["subscriberCount"].ToString(); string videoscount = item["statistics"]["videoCount"].ToString(); string channeldescrip = item["snippet"]["description"].ToString(); try { _YoutubeChannels = new Domain.Socioboard.ViewModels.YoutubeProfiles(); _YoutubeChannels.Accesstoken = access_token; _YoutubeChannels.Refreshtoken = refresh_token; _YoutubeChannels.YtChannelId = channelid; _YoutubeChannels.YtChannelName = channelname; _YoutubeChannels.YtChannelImage = channelimage; _YoutubeChannels.PublishDate = publishdate; _YoutubeChannels.viewscount = viewscount; _YoutubeChannels.commentscount = commentscount; _YoutubeChannels.subscriberscount = subscriberscount; _YoutubeChannels.videoscount = videoscount; _YoutubeChannels.YtChannelDescrip = channeldescrip; lstYoutubeProfiles.Add(_YoutubeChannels); } catch (Exception ex) { } } catch (Exception e) { } } } catch { } return(lstYoutubeProfiles); }