public static string PostLinkedInMessage(string ImageUrl, long userid, string comment, string ProfileId, string imagepath, Domain.Socioboard.Enum.MediaType mediaType, string profileName, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr) { try { if (!ImageUrl.Contains("https://") && !ImageUrl.Contains("http://") && !string.IsNullOrEmpty(ImageUrl)) { var client = new ImgurClient("5f1ad42ec5988b7", "f3294c8632ef8de6bfcbc46b37a23d18479159c5"); var endpoint = new ImageEndpoint(client); IImage image; using (var fs = new FileStream(imagepath, FileMode.Open)) { image = endpoint.UploadImageStreamAsync(fs).GetAwaiter().GetResult(); } var img = image.Link; string json = ""; Domain.Socioboard.Models.LinkedInAccount _LinkedInAccount = Repositories.LinkedInAccountRepository.getLinkedInAccount(ProfileId, _redisCache, dbr); oAuthLinkedIn _oauth = new oAuthLinkedIn(); _oauth.ConsumerKey = _appSettings.LinkedinApiKey; _oauth.ConsumerSecret = _appSettings.LinkedinSecretKey; _oauth.Token = _LinkedInAccount.OAuthToken; string PostUrl = "https://api.linkedin.com/v1/people/~/shares?format=json"; if (string.IsNullOrEmpty(ImageUrl)) { json = _oauth.LinkedProfilePostWebRequest("POST", PostUrl, comment); } else { json = _oauth.LinkedProfilePostWebRequestWithImage("POST", PostUrl, comment, img); } if (!string.IsNullOrEmpty(json)) { ScheduledMessage scheduledMessage = new ScheduledMessage(); scheduledMessage.createTime = DateTime.UtcNow; scheduledMessage.picUrl = _LinkedInAccount.ProfileImageUrl; scheduledMessage.profileId = ProfileId; scheduledMessage.profileType = Domain.Socioboard.Enum.SocialProfileType.LinkedIn; scheduledMessage.scheduleTime = DateTime.UtcNow; scheduledMessage.shareMessage = comment; scheduledMessage.userId = userid; scheduledMessage.status = Domain.Socioboard.Enum.ScheduleStatus.Compleated; scheduledMessage.url = ImageUrl; scheduledMessage.mediaType = mediaType; scheduledMessage.socialprofileName = _LinkedInAccount.LinkedinUserName; dbr.Add <ScheduledMessage>(scheduledMessage); return("posted"); } else { json = "Message not posted"; return(json); } } else { string json = ""; Domain.Socioboard.Models.LinkedInAccount _LinkedInAccount = Repositories.LinkedInAccountRepository.getLinkedInAccount(ProfileId, _redisCache, dbr); oAuthLinkedIn _oauth = new oAuthLinkedIn(); _oauth.ConsumerKey = _appSettings.LinkedinApiKey; _oauth.ConsumerSecret = _appSettings.LinkedinSecretKey; _oauth.Token = _LinkedInAccount.OAuthToken; string PostUrl = "https://api.linkedin.com/v1/people/~/shares?format=json"; if (string.IsNullOrEmpty(ImageUrl)) { json = _oauth.LinkedProfilePostWebRequest("POST", PostUrl, comment); } else { var client = new ImgurClient("5f1ad42ec5988b7", "f3294c8632ef8de6bfcbc46b37a23d18479159c5"); var endpoint = new ImageEndpoint(client); IImage image; using (var fs = new FileStream(imagepath, FileMode.Open)) { image = endpoint.UploadImageStreamAsync(fs).GetAwaiter().GetResult(); } var img = image.Link; json = _oauth.LinkedProfilePostWebRequestWithImage("POST", PostUrl, comment, img); } if (!string.IsNullOrEmpty(json)) { ScheduledMessage scheduledMessage = new ScheduledMessage(); scheduledMessage.createTime = DateTime.UtcNow; scheduledMessage.picUrl = _LinkedInAccount.ProfileImageUrl; scheduledMessage.profileId = ProfileId; scheduledMessage.profileType = Domain.Socioboard.Enum.SocialProfileType.LinkedIn; scheduledMessage.scheduleTime = DateTime.UtcNow; scheduledMessage.shareMessage = comment; scheduledMessage.userId = userid; scheduledMessage.status = Domain.Socioboard.Enum.ScheduleStatus.Compleated; scheduledMessage.url = ImageUrl; scheduledMessage.mediaType = mediaType; scheduledMessage.socialprofileName = _LinkedInAccount.LinkedinUserName; dbr.Add <ScheduledMessage>(scheduledMessage); return("posted"); } else { json = "Message not posted"; return(json); } } } catch (Exception ex) { return("Message not posted"); } }
public static string PostLinkedInCompanyPagePost(string upload, string ImageUrl, long userid, string comment, string LinkedinPageId, Domain.Socioboard.Enum.MediaType mediaType, string profileName, Helper.Cache _redisCache, Model.DatabaseRepository dbr, Helper.AppSettings _appSettings) { try { if (!ImageUrl.Contains("https://") && !ImageUrl.Contains("http://") && !string.IsNullOrEmpty(ImageUrl)) { var client = new ImgurClient("5f1ad42ec5988b7", "f3294c8632ef8de6bfcbc46b37a23d18479159c5"); var endpoint = new ImageEndpoint(client); IImage image; using (var fs = new FileStream(ImageUrl, FileMode.Open)) { image = endpoint.UploadImageStreamAsync(fs).GetAwaiter().GetResult(); } var img = image.Link; string json = ""; Domain.Socioboard.Models.LinkedinCompanyPage objlicompanypage = Repositories.LinkedInAccountRepository.getLinkedinCompanyPage(LinkedinPageId, _redisCache, dbr); oAuthLinkedIn Linkedin_oauth = new oAuthLinkedIn(); Linkedin_oauth.ConsumerKey = _appSettings.LinkedinApiKey; Linkedin_oauth.ConsumerSecret = _appSettings.LinkedinSecretKey; Linkedin_oauth.Verifier = objlicompanypage.OAuthVerifier; Linkedin_oauth.TokenSecret = objlicompanypage.OAuthSecret; Linkedin_oauth.Token = objlicompanypage.OAuthToken; Linkedin_oauth.Id = objlicompanypage.LinkedinPageId; Linkedin_oauth.FirstName = objlicompanypage.LinkedinPageName; Company company = new Company(); if (string.IsNullOrEmpty(ImageUrl)) { json = company.SetPostOnPage(Linkedin_oauth, objlicompanypage.LinkedinPageId, comment); } else { json = company.SetPostOnPageWithImage(Linkedin_oauth, objlicompanypage.LinkedinPageId, img, comment); } if (!string.IsNullOrEmpty(json)) { ScheduledMessage scheduledMessage = new ScheduledMessage(); scheduledMessage.createTime = DateTime.UtcNow; scheduledMessage.picUrl = objlicompanypage.LogoUrl; scheduledMessage.profileId = objlicompanypage.LinkedinPageId; scheduledMessage.profileType = Domain.Socioboard.Enum.SocialProfileType.LinkedInComapanyPage; scheduledMessage.scheduleTime = DateTime.UtcNow; scheduledMessage.shareMessage = comment; scheduledMessage.userId = userid; scheduledMessage.status = Domain.Socioboard.Enum.ScheduleStatus.Compleated; scheduledMessage.url = upload; scheduledMessage.mediaType = mediaType; scheduledMessage.socialprofileName = objlicompanypage.LinkedinPageName; dbr.Add <ScheduledMessage>(scheduledMessage); return("posted"); } else { json = "Message not posted"; return(json); } } else { string json = ""; Domain.Socioboard.Models.LinkedinCompanyPage objlicompanypage = Repositories.LinkedInAccountRepository.getLinkedinCompanyPage(LinkedinPageId, _redisCache, dbr); oAuthLinkedIn Linkedin_oauth = new oAuthLinkedIn(); Linkedin_oauth.ConsumerKey = _appSettings.LinkedinApiKey; Linkedin_oauth.ConsumerSecret = _appSettings.LinkedinSecretKey; Linkedin_oauth.Verifier = objlicompanypage.OAuthVerifier; Linkedin_oauth.TokenSecret = objlicompanypage.OAuthSecret; Linkedin_oauth.Token = objlicompanypage.OAuthToken; Linkedin_oauth.Id = objlicompanypage.LinkedinPageId; Linkedin_oauth.FirstName = objlicompanypage.LinkedinPageName; Company company = new Company(); if (string.IsNullOrEmpty(ImageUrl)) { json = company.SetPostOnPage(Linkedin_oauth, objlicompanypage.LinkedinPageId, comment); } else { var client = new ImgurClient("5f1ad42ec5988b7", "f3294c8632ef8de6bfcbc46b37a23d18479159c5"); var endpoint = new ImageEndpoint(client); IImage image; using (var fs = new FileStream(ImageUrl, FileMode.Open)) { image = endpoint.UploadImageStreamAsync(fs).GetAwaiter().GetResult(); } var img = image.Link; json = company.SetPostOnPageWithImage(Linkedin_oauth, objlicompanypage.LinkedinPageId, img, comment); } if (!string.IsNullOrEmpty(json)) { ScheduledMessage scheduledMessage = new ScheduledMessage(); scheduledMessage.createTime = DateTime.UtcNow; scheduledMessage.picUrl = objlicompanypage.LogoUrl; scheduledMessage.profileId = objlicompanypage.LinkedinPageId; scheduledMessage.profileType = Domain.Socioboard.Enum.SocialProfileType.LinkedInComapanyPage; scheduledMessage.scheduleTime = DateTime.UtcNow; scheduledMessage.shareMessage = comment; scheduledMessage.userId = userid; scheduledMessage.status = Domain.Socioboard.Enum.ScheduleStatus.Compleated; scheduledMessage.url = upload; scheduledMessage.mediaType = mediaType; scheduledMessage.socialprofileName = objlicompanypage.LinkedinPageName; dbr.Add <ScheduledMessage>(scheduledMessage); return("posted"); } else { json = "Message not posted"; return(json); } } //} //catch(Exception ex) //{ // return "Message not posted"; //} } catch (Exception ex) { return("Message not posted"); } }
public static string ComposeMessage(Domain.Socioboard.Enum.FbProfileType profiletype, string accessToken, string fbUserId, string message, string profileId, long userId, string imagePath, string link, Domain.Socioboard.Enum.MediaType mediaType, string profileName, DatabaseRepository dbr, ILogger _logger) { string ret = ""; FacebookClient fb = new FacebookClient(); fb.AccessToken = accessToken; System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls; var args = new Dictionary <string, object>(); if (!string.IsNullOrEmpty(message)) { args["message"] = message; } if (profiletype == Domain.Socioboard.Enum.FbProfileType.FacebookProfile) { args["privacy"] = FbUser.SetPrivacy("Public", fb, profileId); } try { if (string.IsNullOrEmpty(link)) { if (!string.IsNullOrEmpty(imagePath)) { if (!imagePath.Contains("mp4") && !imagePath.Contains("mov") && !imagePath.Contains("mpeg") && !imagePath.Contains("wmv") && !imagePath.Contains("avi") && !imagePath.Contains("flv") && !imagePath.Contains("3gp")) { Uri u = new Uri(imagePath); string filename = string.Empty; string extension = string.Empty; extension = System.IO.Path.GetExtension(u.AbsolutePath).Replace(".", ""); var media = new FacebookMediaObject { FileName = "filename", ContentType = "image/" + extension }; var webClient = new WebClient(); byte[] img = webClient.DownloadData(imagePath); media.SetValue(img); args["source"] = media; ret = fb.Post("v2.7/" + fbUserId + "/photos", args).ToString(); } else { Uri u = new Uri(imagePath); string filename = string.Empty; string extension = string.Empty; filename = imagePath.Substring(imagePath.IndexOf("get?id=") + 7); if (!string.IsNullOrWhiteSpace(filename)) { extension = filename.Substring(filename.IndexOf(".") + 1); } var media = new FacebookMediaObject { FileName = filename, ContentType = "video/" + extension }; //byte[] img = System.IO.File.ReadAllBytes(imagepath); var webClient = new WebClient(); byte[] img = webClient.DownloadData(imagePath); media.SetValue(img); args["title"] = message; args["description"] = message; args["source"] = media; ret = fb.Post("v2.7/" + fbUserId + "/videos", args).ToString();//v2.1 } } else { args["message"] = message; ret = fb.Post("v2.7/" + fbUserId + "/feed", args).ToString(); } } else { if (!string.IsNullOrEmpty(link)) { args["link"] = link; } if (!string.IsNullOrEmpty(imagePath)) { args["picture"] = imagePath.Replace("&", "&"); } ret = fb.Post("v2.7/" + fbUserId + "/feed", args).ToString();//v2.1 } ScheduledMessage scheduledMessage = new ScheduledMessage(); scheduledMessage.createTime = DateTime.UtcNow; scheduledMessage.picUrl = "https://graph.facebook.com/" + fbUserId + "/picture?type=small";//imagePath; scheduledMessage.profileId = profileId; if (profiletype == Domain.Socioboard.Enum.FbProfileType.FacebookProfile) { scheduledMessage.profileType = Domain.Socioboard.Enum.SocialProfileType.Facebook; } else { scheduledMessage.profileType = Domain.Socioboard.Enum.SocialProfileType.FacebookFanPage; } scheduledMessage.scheduleTime = DateTime.UtcNow; scheduledMessage.shareMessage = message; scheduledMessage.userId = userId; scheduledMessage.status = Domain.Socioboard.Enum.ScheduleStatus.Compleated; scheduledMessage.url = imagePath;//"https://graph.facebook.com/"+ fbUserId + "/picture?type=small"; scheduledMessage.mediaType = mediaType; scheduledMessage.socialprofileName = profileName; dbr.Add <ScheduledMessage>(scheduledMessage); } catch (Exception ex) { _logger.LogError(ex.Message); _logger.LogError(ex.StackTrace); } return(ret); }
//DaywiseSchedule public static string ScheduleMessage(string profileId, string socialprofileName, string shareMessage, Domain.Socioboard.Enum.SocialProfileType profiletype, long userId, string link, string url, string picUrl, string scheduleTime, string localscheduletime, Domain.Socioboard.Enum.MediaType mediaType, AppSettings _AppSettings, Cache _redisCache, DatabaseRepository dbr, ILogger _logger) { ScheduledMessage scheduledMessage = new ScheduledMessage(); //scheduledMessage.calendertime = Convert.ToDateTime(localscheduletime); error coming so change scheduledMessage.calendertime = DateTime.Today; scheduledMessage.shareMessage = shareMessage; string userlocalscheduletime = localscheduletime; try { _logger.LogError("ScheduleMessageHelperscheduleTime>>>>" + scheduleTime); var dt = DateTime.Parse(scheduleTime); scheduledMessage.scheduleTime = Convert.ToDateTime(TimeZoneInfo.ConvertTimeToUtc(dt)); //scheduledMessage.scheduleTime = Convert.ToDateTime(scheduleTime) ; // scheduledMessage.scheduleTime = Convert.ToDateTime(CompareDateWithclient(DateTime.UtcNow.ToString(),scheduleTime)); } catch (Exception ex) { _logger.LogError(ex.StackTrace); } DateTime fromTime = scheduledMessage.scheduleTime.AddMinutes(-scheduledMessage.scheduleTime.Minute); DateTime toTime = scheduledMessage.scheduleTime.AddMinutes(-scheduledMessage.scheduleTime.Minute).AddHours(1); try { int count = dbr.Find <ScheduledMessage>(t => t.scheduleTime > fromTime && t.scheduleTime <= toTime && t.profileId == profileId).Count(); if (count > _AppSettings.FacebookScheduleMessageMaxLimit) { _logger.LogError("Facebook Max limit Reached."); return("Max limit Reached."); } } catch (Exception) { } scheduledMessage.status = Domain.Socioboard.Enum.ScheduleStatus.Pending; scheduledMessage.userId = userId; scheduledMessage.profileType = profiletype; scheduledMessage.profileId = profileId; scheduledMessage.url = url; scheduledMessage.link = link; scheduledMessage.picUrl = picUrl; scheduledMessage.createTime = DateTime.UtcNow; scheduledMessage.clientTime = DateTime.Now; scheduledMessage.localscheduletime = userlocalscheduletime; scheduledMessage.socialprofileName = socialprofileName; scheduledMessage.mediaType = mediaType; int ret = dbr.Add <ScheduledMessage>(scheduledMessage); if (ret == 1) { return("Scheduled."); } else { return("Not Scheduled."); } }
public static void DraftScheduleMessage(string shareMessage, long userId, long groupId, string picUrl, string scheduleTime, Domain.Socioboard.Enum.MediaType mediaType, AppSettings _AppSettings, Cache _redisCache, DatabaseRepository dbr, ILogger _logger) { Draft _Draft = new Draft(); _Draft.shareMessage = shareMessage; try { _Draft.scheduleTime = Convert.ToDateTime(scheduleTime); } catch (Exception ex) { } //_Draft.scheduleTime = DateTime.Parse(scheduleTime); _Draft.userId = userId; _Draft.GroupId = groupId; _Draft.picUrl = picUrl; _Draft.createTime = DateTime.UtcNow; _Draft.mediaType = mediaType; dbr.Add <Draft>(_Draft); }
public static string PostTwitterMessage(AppSettings _AppSettings, Cache _redisCache, string message, string profileid, long userid, string url, bool isScheduled, Domain.Socioboard.Enum.MediaType mediaType, string profileName, DatabaseRepository dbr, ILogger _logger, string sscheduledmsgguid = "") { bool rt = false; string ret = ""; string str = ""; int Twtsc = 0; Domain.Socioboard.Models.TwitterAccount objTwitterAccount = Api.Socioboard.Repositories.TwitterRepository.getTwitterAccount(profileid, _redisCache, dbr); oAuthTwitter OAuthTwt = new oAuthTwitter(_AppSettings.twitterConsumerKey, _AppSettings.twitterConsumerScreatKey, _AppSettings.twitterRedirectionUrl); OAuthTwt.AccessToken = objTwitterAccount.oAuthToken; OAuthTwt.AccessTokenSecret = objTwitterAccount.oAuthSecret; OAuthTwt.TwitterScreenName = objTwitterAccount.twitterScreenName; OAuthTwt.TwitterUserId = objTwitterAccount.twitterUserId; Tweet twt = new Tweet(); if (!string.IsNullOrEmpty(url)) { try { PhotoUpload ph = new PhotoUpload(); string res = string.Empty; // rt = ph.Tweet(url, message, OAuthTwt); if (url.Contains("mp4")) { var webClient = new WebClient(); byte[] img = webClient.DownloadData(url); rt = videoUploading(img, message, objTwitterAccount.oAuthToken, objTwitterAccount.oAuthSecret, _AppSettings); } else { rt = ph.NewTweet(url, message, OAuthTwt, ref res); } } catch (Exception ex) { _logger.LogError("PostTwitterMessageWithImage" + ex.StackTrace); _logger.LogError("PostTwitterMessageWithImage" + ex.Message); } } else { try { JArray post = twt.Post_Statuses_Update(OAuthTwt, message); ret = post[0]["id_str"].ToString(); } catch (Exception ex) { _logger.LogError("PostTwitterMessage" + ex.StackTrace); _logger.LogError("PostTwitterMessage" + ex.Message); } } if (!string.IsNullOrEmpty(ret) || rt == true) { ScheduledMessage scheduledMessage = new ScheduledMessage(); scheduledMessage.createTime = DateTime.UtcNow; scheduledMessage.picUrl = objTwitterAccount.profileImageUrl; scheduledMessage.profileId = profileid; scheduledMessage.profileType = Domain.Socioboard.Enum.SocialProfileType.Twitter; scheduledMessage.scheduleTime = DateTime.UtcNow; scheduledMessage.shareMessage = message; scheduledMessage.socialprofileName = objTwitterAccount.twitterScreenName; scheduledMessage.userId = userid; scheduledMessage.status = Domain.Socioboard.Enum.ScheduleStatus.Compleated; scheduledMessage.url = url; scheduledMessage.mediaType = mediaType; scheduledMessage.socialprofileName = profileName; dbr.Add <ScheduledMessage>(scheduledMessage); } else { str = "Message not posted"; } return(str); }