private int UpdateInstagramFeeds(Instagramaccounts instagramAccount) { var databaseRepository = new DatabaseRepository(); if (instagramAccount.lastUpdate.AddHours(1) <= DateTime.UtcNow) { if (!instagramAccount.IsActive) { return(0); } UserController objusercontroller = new UserController(); var configi = new ConfigurationIns(AppSettings.instaAuthUrl, AppSettings.instaClientId, AppSettings.instaClientSecret, AppSettings.instaReturnUrl, AppSettings.instaTokenRetrivelUrl, AppSettings.instaApiBaseUrl, ""); var _api = oAuthInstagram.GetInstance(configi); ParseAndUpdateInstagramAccount(instagramAccount, objusercontroller, databaseRepository); GetParseInstagramSelfFeeds(instagramAccount.InstagramId, instagramAccount.AccessToken); GetParseInstagramUserDetails(instagramAccount.InstagramId, instagramAccount.AccessToken, instagramAccount); GetParseInstagramPostLikes(instagramAccount.InstagramId, instagramAccount.AccessToken); GetInstagramPostComments(instagramAccount.InstagramId, instagramAccount.AccessToken); GetInstagramFollowing(instagramAccount.InstagramId, instagramAccount.AccessToken); GetInstagramFollower(instagramAccount.InstagramId, instagramAccount.AccessToken); } else { apiHitsCount = 0; } return(0); }
private void UpdateInstagramReport(Instagramaccounts insatgramAccount, DatabaseRepository databaseRepository) { try { if (insatgramAccount.lastpagereportgenerated.AddHours(24) <= DateTime.UtcNow) { CreateReports(insatgramAccount.InstagramId, insatgramAccount.Is90DayDataUpdated); insatgramAccount.Is90DayDataUpdated = true; insatgramAccount.lastpagereportgenerated = DateTime.UtcNow; databaseRepository.Update(insatgramAccount); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void ParseAndUpdateInstagramAccount(Instagramaccounts insAcc, UserController objusercontroller, DatabaseRepository databaseRepository) { var objuser = objusercontroller.GetUserDetails(insAcc.InstagramId, insAcc.AccessToken); var _grpProfile = databaseRepository.Find <Domain.Socioboard.Models.Groupprofiles>(t => t.profileId.Contains(insAcc.InstagramId)).ToList(); if (objuser != null) { insAcc.ProfileUrl = objuser?.data?.profile_picture ?? insAcc.ProfileUrl; _grpProfile.Select(s => { s.profilePic = objuser?.data?.profile_picture ?? insAcc.ProfileUrl; return(s); }).ToList(); insAcc.TotalImages = objuser?.data?.counts.media ?? insAcc.TotalImages; insAcc.FollowedBy = objuser?.data?.counts.followed_by ?? insAcc.FollowedBy; insAcc.Followers = objuser?.data?.counts.follows ?? insAcc.Followers; insAcc.bio = objuser?.data?.bio ?? insAcc.bio; foreach (var item_grpProfile in _grpProfile) { databaseRepository.Update <Groupprofiles>(item_grpProfile); } databaseRepository.Update <Instagramaccounts>(insAcc); } }
private static string GetParseInstagramUserDetails(string profile_id, string access_token, Instagramaccounts instagramaccounts) { var databaseRepository = new DatabaseRepository(); string code_status = "false"; var insert = new InstagramUserDetails(); var post_data = new JObject(); string url = "https://api.instagram.com/v1/users/" + profile_id + "?access_token=" + access_token; try { post_data = JObject.Parse(ApiInstagramHttp(url)); } catch (Exception ex) { Console.WriteLine(ex.Message); } try { var item = post_data["data"]; if (item != null) { apiHitsCount++; try { string insta_name = item.SelectToken("username")?.ToString(); string full_name = item.SelectToken("full_name")?.ToString(); string imageUrl = item.SelectToken("profile_picture")?.ToString(); string media_count = item.SelectToken("counts.media")?.ToString(); DateTime Created_Time = DateTime.Now; string follower = item.SelectToken("counts.followed_by")?.ToString(); string following = item.SelectToken("counts.follows")?.ToString(); if (instagramaccounts != null && instagramaccounts.IsActive == true) { instagramaccounts.TotalImages = Convert.ToInt32(media_count); instagramaccounts.Followers = Convert.ToInt32(follower); instagramaccounts.FollowedBy = Convert.ToInt32(following); instagramaccounts.InsUserName = insta_name; instagramaccounts.ProfileUrl = imageUrl; instagramaccounts.InstagramId = profile_id; databaseRepository.Update(instagramaccounts); } DateTime t1 = DateTime.Now.Date; DateTime t2 = DateTime.Now.Date.AddHours(12); DateTime t3 = DateTime.Now.AddDays(1).Date.AddSeconds(-1); if (DateTime.Now.TimeOfDay >= t1.TimeOfDay && DateTime.Now.TimeOfDay < t2.TimeOfDay) { if (instagramaccounts != null && instagramaccounts.IsActive == true) { instagramaccounts.TotalImages = Convert.ToInt32(media_count); instagramaccounts.Followers = Convert.ToInt32(follower); instagramaccounts.FollowedBy = Convert.ToInt32(following); instagramaccounts.InsUserName = insta_name; instagramaccounts.ProfileUrl = imageUrl; instagramaccounts.InstagramId = profile_id; databaseRepository.Update(instagramaccounts); } } if (DateTime.Now.TimeOfDay >= t2.TimeOfDay && DateTime.Now.TimeOfDay < t3.TimeOfDay) { if (instagramaccounts != null && instagramaccounts.IsActive == true) { instagramaccounts.TotalImages = Convert.ToInt32(media_count); instagramaccounts.Followers = Convert.ToInt32(follower); instagramaccounts.FollowedBy = Convert.ToInt32(following); instagramaccounts.InsUserName = insta_name; instagramaccounts.ProfileUrl = imageUrl; instagramaccounts.InstagramId = profile_id; databaseRepository.Update(instagramaccounts); } } code_status = "true"; } catch (Exception ex) { Console.WriteLine(ex.Message); } } else { apiHitsCount = MaxapiHitsCount; } } catch (Exception ex) { Console.WriteLine(ex.Message); } return(code_status); }