public async Task <ActionResult> ScheduleMessage(string message, string profileId, long userId, string imagePath, string link, string scheduledatetime, IFormFile files) { var filename = ""; string postmessage = ""; var uploads = _appEnv.WebRootPath + "\\wwwwroot\\upload\\" + profileId; if (files != null) { if (files.Length > 0) { var fileName = Microsoft.Net.Http.Headers.ContentDispositionHeaderValue.Parse(files.ContentDisposition).FileName.Trim('"'); // await file.s(Path.Combine(uploads, fileName)); filename = Microsoft.Net.Http.Headers.ContentDispositionHeaderValue .Parse(files.ContentDisposition) .FileName .Trim('"'); //apiimgPath = _appSettings.ApiDomain + "/api/Media/get?id=" + $@"{Domain.Socioboard.Helpers.SBHelper.RandomString(10) + '.' + fileName.Split('.')[1]}"; var tempName = Domain.Socioboard.Helpers.SBHelper.RandomString(10) + '.' + fileName.Split('.')[1]; filename = _appEnv.WebRootPath + "\\upload" + $@"\{tempName}"; uploads = _appSettings.ApiDomain + "/api/Media/get?id=" + $@"{tempName}"; // size += file.Length; using (FileStream fs = System.IO.File.Create(filename)) { files.CopyTo(fs); fs.Flush(); } filename = uploads; } } else if (!string.IsNullOrEmpty(imagePath)) { filename = imagePath; } string[] updatedmessgae = Regex.Split(message, "<br>"); foreach (var item in updatedmessgae) { if (!string.IsNullOrEmpty(item)) { if (item.Contains("https://") || item.Contains("http://")) { link = item; } if (item.Contains("hhh") || item.Contains("nnn")) { if (item.Contains("hhh")) { postmessage = postmessage + "\n\r" + item.Replace("hhh", "#"); } } else { postmessage = postmessage + "\n\r" + item; } } } message = postmessage; DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); string[] lstProfileIds = null; if (profileId != null) { lstProfileIds = profileId.Split(','); profileId = lstProfileIds[0]; } else { return(Ok("profileId required")); } string retunMsg = string.Empty; foreach (var item in lstProfileIds) { if (item.StartsWith("fb")) { try { string prId = item.Substring(3, item.Length - 3); Domain.Socioboard.Models.Facebookaccounts objFacebookaccounts = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(prId, _redisCache, dbr); Helper.ScheduleMessageHelper.ScheduleMessage(prId, objFacebookaccounts.FbUserName, message, Domain.Socioboard.Enum.SocialProfileType.Facebook, userId, filename, "https://graph.facebook.com/" + prId + "/picture?type=small", scheduledatetime, _appSettings, _redisCache, dbr, _logger); } catch (System.Exception ex) { _logger.LogError(ex.StackTrace); //return Ok("Issue With Facebook schedulers"); } } if (item.StartsWith("page")) { try { string prId = item.Substring(5, item.Length - 5); Domain.Socioboard.Models.Facebookaccounts objFacebookaccounts = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(prId, _redisCache, dbr); Helper.ScheduleMessageHelper.ScheduleMessage(prId, objFacebookaccounts.FbUserName, message, Domain.Socioboard.Enum.SocialProfileType.FacebookFanPage, userId, filename, "https://graph.facebook.com/" + prId + "/picture?type=small", scheduledatetime, _appSettings, _redisCache, dbr, _logger); } catch (System.Exception ex) { _logger.LogError(ex.StackTrace); // return Ok("Issue With Facebook Page schedulers"); } } if (item.StartsWith("tw")) { try { string prId = item.Substring(3, item.Length - 3); Domain.Socioboard.Models.TwitterAccount objTwitterAccount = Api.Socioboard.Repositories.TwitterRepository.getTwitterAccount(prId, _redisCache, dbr); Helper.ScheduleMessageHelper.ScheduleMessage(prId, objTwitterAccount.twitterScreenName, message, Domain.Socioboard.Enum.SocialProfileType.Twitter, userId, filename, objTwitterAccount.profileImageUrl, scheduledatetime, _appSettings, _redisCache, dbr, _logger); } catch (System.Exception ex) { _logger.LogError(ex.StackTrace); // return Ok("Issue With Twitter schedulers"); } } if (item.StartsWith("lin")) { try { string prId = item.Substring(4, item.Length - 4); Domain.Socioboard.Models.LinkedInAccount objLinkedInAccount = Api.Socioboard.Repositories.LinkedInAccountRepository.getLinkedInAccount(prId, _redisCache, dbr); Helper.ScheduleMessageHelper.ScheduleMessage(prId, objLinkedInAccount.LinkedinUserName, message, Domain.Socioboard.Enum.SocialProfileType.LinkedIn, userId, filename, objLinkedInAccount.ProfileImageUrl, scheduledatetime, _appSettings, _redisCache, dbr, _logger); } catch (System.Exception ex) { _logger.LogError(ex.StackTrace); // return Ok("Issue With Linkedin schedulers"); } } if (item.StartsWith("Cmpylinpage")) { try { string prId = item.Substring(12, item.Length - 12); Domain.Socioboard.Models.LinkedinCompanyPage objLinkedinCompanyPage = Api.Socioboard.Repositories.LinkedInAccountRepository.getLinkedinCompanyPage(prId, _redisCache, dbr); Helper.ScheduleMessageHelper.ScheduleMessage(prId, objLinkedinCompanyPage.LinkedinPageName, message, Domain.Socioboard.Enum.SocialProfileType.LinkedInComapanyPage, userId, filename, objLinkedinCompanyPage.LogoUrl, scheduledatetime, _appSettings, _redisCache, dbr, _logger); } catch (System.Exception ex) { _logger.LogError(ex.StackTrace); // return Ok("Issue With Linkedin Page schedulers"); } } } return(Ok("scheduled")); }
public async Task <IActionResult> ComposeMessage(string message, string profileId, long userId, string imagePath, string link, IFormFile files) { var filename = ""; var apiimgPath = ""; var uploads = string.Empty; string postmessage = ""; if (files != null) { if (files.Length > 0) { var fileName = Microsoft.Net.Http.Headers.ContentDispositionHeaderValue.Parse(files.ContentDisposition).FileName.Trim('"'); // await file.s(Path.Combine(uploads, fileName)); filename = Microsoft.Net.Http.Headers.ContentDispositionHeaderValue .Parse(files.ContentDisposition) .FileName .Trim('"'); var tempName = Domain.Socioboard.Helpers.SBHelper.RandomString(10) + '.' + fileName.Split('.')[1]; //apiimgPath = _appSettings.ApiDomain + "/api/Media/get?id=" + $@"{tempName}"; filename = _appEnv.WebRootPath + "\\upload" + $@"\{tempName}"; uploads = _appSettings.ApiDomain + "/api/Media/get?id=" + $@"{tempName}"; // size += file.Length; try { using (FileStream fs = System.IO.File.Create(filename)) { files.CopyTo(fs); fs.Flush(); } filename = uploads; } catch (System.Exception ex) { if (!string.IsNullOrEmpty(imagePath)) { uploads = imagePath; } } } } else if (!string.IsNullOrEmpty(imagePath)) { uploads = imagePath; } //string[] updatedmessgae = Regex.Split(message, "<br>"); //message = postmessage; DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); string[] lstProfileIds = null; if (profileId != null) { lstProfileIds = profileId.Split(','); profileId = lstProfileIds[0]; } else { return(Ok("profileId required")); } foreach (var item in lstProfileIds) { if (item.StartsWith("fb")) { try { new Thread(delegate() { string prId = item.Substring(3, item.Length - 3); Domain.Socioboard.Models.Facebookaccounts objFacebookAccount = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(prId, _redisCache, dbr); string ret = Helper.FacebookHelper.ComposeMessage(objFacebookAccount.FbProfileType, objFacebookAccount.AccessToken, objFacebookAccount.FbUserId, message, prId, userId, uploads, link, dbr, _logger); }).Start(); } catch (Exception ex) { } } if (item.StartsWith("tw")) { try { new Thread(delegate() { string prId = item.Substring(3, item.Length - 3); string ret = Helper.TwitterHelper.PostTwitterMessage(_appSettings, _redisCache, message, prId, userId, uploads, true, dbr, _logger); }).Start(); } catch (Exception ex) { } } if (item.StartsWith("lin")) { try { new Thread(delegate() { string prId = item.Substring(4, item.Length - 4); string ret = Helper.LinkedInHelper.PostLinkedInMessage(uploads, userId, message, prId, filename, _redisCache, _appSettings, dbr); }).Start(); } catch (Exception ex) { } } if (item.StartsWith("Cmpylinpage")) { try { new Thread(delegate() { string prId = item.Substring(12, item.Length - 12); string ret = Helper.LinkedInHelper.PostLinkedInCompanyPagePost(uploads, userId, message, prId, _redisCache, dbr, _appSettings); }).Start(); } catch (Exception ex) { } } } return(Ok("Posted")); }
public IActionResult ComposeMessage(string message, string profileId, long userId, string imagePath, string link) { if (profileId != null) { string[] lstProfileIds = profileId.Split(','); profileId = lstProfileIds[0]; } else { return(Ok("profileId required")); } string ret = ""; DatabaseRepository dbr = new DatabaseRepository(_logger, _env); Domain.Socioboard.Models.Facebookaccounts objFacebookAccount = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(profileId, _redisCache, dbr); FacebookClient fb = new FacebookClient(); fb.AccessToken = objFacebookAccount.AccessToken; System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls; var args = new Dictionary <string, object>(); if (!string.IsNullOrEmpty(message)) { args["message"] = message; } args["privacy"] = FbUser.SetPrivacy("Public", fb, profileId); try { if (!string.IsNullOrEmpty(imagePath)) { 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 }; //byte[] img = System.IO.File.ReadAllBytes(imagepath); var webClient = new WebClient(); byte[] img = webClient.DownloadData(imagePath); media.SetValue(img); args["source"] = media; ret = fb.Post("v2.0/" + objFacebookAccount.FbUserId + "/photos", args).ToString(); } else { if (!string.IsNullOrEmpty(link)) { args["link"] = link; } ret = fb.Post("v2.0/" + objFacebookAccount.FbUserId + "/feed", args).ToString(); } ScheduledMessage scheduledMessage = new ScheduledMessage(); scheduledMessage.createTime = DateTime.UtcNow; scheduledMessage.picUrl = imagePath; scheduledMessage.profileId = profileId; scheduledMessage.profileType = Domain.Socioboard.Enum.SocialProfileType.Facebook; scheduledMessage.scheduleTime = DateTime.UtcNow; scheduledMessage.shareMessage = message; scheduledMessage.userId = userId; scheduledMessage.status = Domain.Socioboard.Enum.ScheduleStatus.Compleated; scheduledMessage.url = ret; dbr.Add <ScheduledMessage>(scheduledMessage); ret = "success"; } catch (Exception ex) { _logger.LogError(ex.Message); ret = "failure"; } return(Ok(ret)); }
public IActionResult AddFacebookPages(long userId, long groupId) { string data = Request.Form["profileaccesstoken"]; string[] accesstoken = data.Split(','); int addedPageCount = 0; int invalidaccessToken = 0; foreach (var item in accesstoken) { dynamic profile = Fbpages.getFbPageData(item); string subscribed_apps = Fbpages.subscribed_apps(item, Convert.ToString(profile["id"])); try { string x = Convert.ToString(profile); _logger.LogError(x); } catch { } if (Convert.ToString(profile) == "Invalid Access Token") { invalidaccessToken++; // return Ok("Invalid Access Token"); } else { DatabaseRepository dbr = new DatabaseRepository(_logger, _env); Domain.Socioboard.Models.Facebookaccounts fbacc = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(Convert.ToString(profile["id"]), _redisCache, dbr); if (fbacc != null && fbacc.IsActive == true) { addedPageCount++; //return Ok("Facebook Page added by other user."); } else { Groups ngrp = dbr.Find <Domain.Socioboard.Models.Groups>(t => t.adminId == userId && t.id == groupId).FirstOrDefault(); if (ngrp == null) { return(Ok("Wrong Group Id")); } // Adding Facebook Page int res = Api.Socioboard.Repositories.FacebookRepository.AddFacebookPage(profile, dbr, userId, ngrp.id, Domain.Socioboard.Enum.FbProfileType.FacebookPage, item, _redisCache, _appSettings, _logger); } } } if (addedPageCount == accesstoken.Length) { return(Ok("Facebook Pages added by other user.")); } else if (addedPageCount == accesstoken.Length) { return(Ok("Facebook Pages having Invalid Access Token.")); } else if (invalidaccessToken > 0 && addedPageCount > 0) { return(Ok("Pages added successfully and " + addedPageCount + " pages added by other user or " + invalidaccessToken + " pages having invalid access token issue")); } else if (invalidaccessToken > 0) { return(Ok("Pages added successfully" + invalidaccessToken + " pages having invalid access token issue")); } else if (addedPageCount > 0) { return(Ok("Pages added successfully and " + addedPageCount + " pages added by other user")); } return(Ok("Page added successfully")); }
public IActionResult AddRssUrl(long userId, long groupId, string rssUrl, string profileId) { try { XmlDocument xmlDoc = new XmlDocument(); // Create an XML document object xmlDoc.Load(rssUrl); var abc = xmlDoc.DocumentElement.GetElementsByTagName("item"); if (abc.Count == 0) { return(Ok("This Url Does't Conatin Rss Feed")); } } catch (Exception ex) { return(Ok("This Url Does't Conatin Rss Feed")); } try { var dbr = new DatabaseRepository(_logger, _env); var _RssFeedUrl = Repositories.RssFeedRepository.AddRssUrl(profileId, rssUrl, dbr); if (_RssFeedUrl != "null") { string[] lstProfileIds; if (profileId != null) { lstProfileIds = profileId.Split(','); profileId = lstProfileIds[0]; } else { return(Ok("profileId required")); } foreach (var item in lstProfileIds) { if (item.StartsWith("fb")) { string prId = item.Substring(3, item.Length - 3); Domain.Socioboard.Models.Facebookaccounts objFacebookAccount = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(prId, _redisCache, dbr); string ret = Repositories.RssFeedRepository.AddRssFeed(rssUrl, userId, prId, Domain.Socioboard.Enum.SocialProfileType.Facebook, "http://graph.facebook.com/" + objFacebookAccount.FbUserId + "/picture?type=small", objFacebookAccount.FbUserName, null, dbr, _appSettings); } else if (item.StartsWith("page")) { string prId = item.Substring(5, item.Length - 5); Domain.Socioboard.Models.Facebookaccounts objFacebookAccount = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(prId, _redisCache, dbr); string ret = Repositories.RssFeedRepository.AddRssFeed(rssUrl, userId, prId, Domain.Socioboard.Enum.SocialProfileType.FacebookFanPage, "http://graph.facebook.com/" + objFacebookAccount.FbUserId + "/picture?type=small", objFacebookAccount.FbUserName, null, dbr, _appSettings); } else if (item.StartsWith("tw")) { string prId = item.Substring(3, item.Length - 3); Domain.Socioboard.Models.TwitterAccount objTwitterAccount = Api.Socioboard.Repositories.TwitterRepository.getTwitterAccount(prId, _redisCache, dbr); string ret = Repositories.RssFeedRepository.AddRssFeed(rssUrl, userId, prId, Domain.Socioboard.Enum.SocialProfileType.Twitter, objTwitterAccount.profileImageUrl, objTwitterAccount.twitterName, null, dbr, _appSettings); } else if (item.StartsWith("lin")) { string prId = item.Substring(4); Domain.Socioboard.Models.LinkedInAccount objLinkedInAccount = Api.Socioboard.Repositories.LinkedInAccountRepository.getLinkedInAccount(prId, _redisCache, dbr); string ret = Repositories.RssFeedRepository.AddRssFeed(rssUrl, userId, prId, Domain.Socioboard.Enum.SocialProfileType.LinkedIn, objLinkedInAccount.ProfileImageUrl, objLinkedInAccount.LinkedinUserName, null, dbr, _appSettings); } else if (item.StartsWith("Cmpylinpage")) { string prId = item.Substring(12); Domain.Socioboard.Models.LinkedinCompanyPage objLinkedinCompanyPage = Api.Socioboard.Repositories.LinkedInAccountRepository.getLinkedinCompanyPage(prId, _redisCache, dbr); string ret = Repositories.RssFeedRepository.AddRssFeed(rssUrl, userId, prId, Domain.Socioboard.Enum.SocialProfileType.LinkedInComapanyPage, objLinkedinCompanyPage.LogoUrl, objLinkedinCompanyPage.LinkedinPageName, null, dbr, _appSettings); } } return(Ok("Added Successfully")); } } catch (Exception) { return(Ok("Can't Add Rss Url")); } return(Ok("Can't Add Rss Url")); }
public IActionResult ReconnectFbAccount(string accessToken, long groupId, long userId, string reconnect, string profileId) { dynamic profile = FbUser.getFbUser(accessToken); try { string x = Convert.ToString(profile); _logger.LogError(x); } catch { } if (Convert.ToString(profile) == "Invalid Access Token") { return(Ok("Invalid Access Token")); } DatabaseRepository dbr = new DatabaseRepository(_logger, _env); Domain.Socioboard.Models.Facebookaccounts fbacc = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(Convert.ToString(profile["id"]), _redisCache, dbr); Domain.Socioboard.Models.Facebookaccounts fbaccw = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(profileId, _redisCache, dbr); //fbacc = fbacc.Where(t => t.FbUserId.Contains("127471161024815")).ToList(); try { if (fbacc.FbUserId == profileId) { if (fbacc != null && fbacc.IsActive == true) { if (fbacc.UserId == userId) { Groups ngrp = dbr.Find <Domain.Socioboard.Models.Groups>(t => t.adminId == userId && t.id == groupId).FirstOrDefault(); if (ngrp == null) { return(Ok("Wrong Group Id")); } int res = Api.Socioboard.Repositories.FacebookRepository.ReFacebookAccount(profile, FbUser.getFbFriends(accessToken), dbr, userId, ngrp.id, Domain.Socioboard.Enum.FbProfileType.FacebookProfile, accessToken, reconnect, _redisCache, _appSettings, _logger); if (res == 1) { MongoRepository repofb = new MongoRepository("FacebookPasswordChangeUserDetail", _appSettings); try { var result = repofb.Find <Domain.Socioboard.Models.Mongo.FacebookPasswordChangeUserDetail>(t => t.profileId == fbacc.FbUserId); var task = Task.Run(async() => { return(await result); }); int count = task.Result.Count; IList <Domain.Socioboard.Models.Mongo.FacebookPasswordChangeUserDetail> lstFbFeeds = task.Result; if (count > 0) { FilterDefinition <BsonDocument> filter = new BsonDocument("profileId", lstFbFeeds.FirstOrDefault().profileId); var update = Builders <BsonDocument> .Update.Set("status", true); repofb.Update <Domain.Socioboard.Models.Mongo.FacebookPasswordChangeUserDetail>(update, filter); } } catch (Exception ex) { } return(Ok("Facebook account Reconnect Successfully")); } else { return(Ok("Error while Reconnecting Account")); } } } } else { return(Ok("Oops! login information is wrong , login the profile which has to be reconnected")); } } catch (Exception ex) { return(Ok("Oops! login information is wrong , login the profile which has to be reconnected")); } return(Ok()); }
public static void PostDaywiseFacebookMessage(Domain.Socioboard.Models.DaywiseSchedule schmessage, Domain.Socioboard.Models.Facebookaccounts _facebook, Domain.Socioboard.Models.User _user) { try { if (_facebook != null) { if (_facebook.IsActive) { string day = DateTime.Now.DayOfWeek.ToString(); TimeSpan time = DateTime.Now.TimeOfDay; //TimeSpan tv = TimeSpan.Parse(schmessage.localscheduletime); //TimeSpan.Compare(time, tv); TimeSpan dbtimeval = Convert.ToDateTime(schmessage.localscheduletime).TimeOfDay;//schmessage.localscheduletime if (schmessage.scheduleTime <= DateTime.Now && dbtimeval <= time) { var selectDayObject = JsonConvert.DeserializeObject <List <string> >(schmessage.weekdays); if (selectDayObject.Contains(DateTime.Now.DayOfWeek.ToString())) { string data = DaywiseComposeMessage(_facebook.FbProfileType, _facebook.AccessToken, _facebook.FbUserId, schmessage.shareMessage, schmessage.profileId, schmessage.userId, schmessage.url, schmessage.link, schmessage, _user); } else { schmessage.scheduleTime = DateTimeHelper.GetNextScheduleDate(selectDayObject, schmessage.scheduleTime); if (schmessage.scheduleTime.Date == DateTime.Today) { schmessage.scheduleTime = schmessage.scheduleTime.AddDays(7); } var dbr = new DatabaseRepository(); dbr.Update(schmessage); } } } } } catch (Exception ex) { } }
public static void PostFacebookMessage(Domain.Socioboard.Models.ScheduledMessage schmessage, Domain.Socioboard.Models.Facebookaccounts _facebook, Domain.Socioboard.Models.User _user) { try { if (_facebook != null) { if (_facebook.IsActive) { if (schmessage.scheduleTime <= DateTime.UtcNow) { string data = ComposeMessage(_facebook.FbProfileType, _facebook.AccessToken, _facebook.FbUserId, schmessage.shareMessage, schmessage.profileId, schmessage.userId, schmessage.url, schmessage.link, schmessage, _user); } } } } catch (Exception ex) { } }
public IActionResult AddProfileToGroup(string profileId, long groupId, long userId, Domain.Socioboard.Enum.SocialProfileType profileType) { DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); List <Domain.Socioboard.Models.Groupprofiles> lstGroupProfiles = GroupProfilesRepository.getGroupProfiles(groupId, _redisCache, dbr); if (lstGroupProfiles.Where(t => t.profileId.Equals(profileId)).Count() > 0) { return(BadRequest("profile already added")); } else { Domain.Socioboard.Models.Groups grp = dbr.Find <Domain.Socioboard.Models.Groups>(t => t.id == groupId).FirstOrDefault(); if (grp == null) { return(BadRequest("Invalid groupId")); } else { Domain.Socioboard.Models.Groupprofiles grpProfile = new Domain.Socioboard.Models.Groupprofiles(); if (profileType == Domain.Socioboard.Enum.SocialProfileType.Facebook || profileType == Domain.Socioboard.Enum.SocialProfileType.FacebookFanPage || profileType == Domain.Socioboard.Enum.SocialProfileType.FacebookPublicPage) { Domain.Socioboard.Models.Facebookaccounts fbAcc = Repositories.FacebookRepository.getFacebookAccount(profileId, _redisCache, dbr); if (fbAcc == null) { return(BadRequest("Invalid profileId")); } if (fbAcc.UserId != userId) { return(BadRequest("profile is added by other user")); } grpProfile.profileName = fbAcc.FbUserName; grpProfile.profileOwnerId = userId; grpProfile.profilePic = "http://graph.facebook.com/" + fbAcc.FbUserId + "/picture?type=small"; grpProfile.profileType = profileType; } else if (profileType == Domain.Socioboard.Enum.SocialProfileType.Twitter) { Domain.Socioboard.Models.TwitterAccount twtAcc = Repositories.TwitterRepository.getTwitterAccount(profileId, _redisCache, dbr); if (twtAcc == null) { return(BadRequest("Invalid profileId")); } if (twtAcc.userId != userId) { return(BadRequest("profile is added by other user")); } grpProfile.profileName = twtAcc.twitterScreenName; grpProfile.profileOwnerId = userId; grpProfile.profilePic = twtAcc.profileImageUrl; grpProfile.profileType = Domain.Socioboard.Enum.SocialProfileType.Twitter; } else if (profileType == Domain.Socioboard.Enum.SocialProfileType.GPlus) { Domain.Socioboard.Models.Googleplusaccounts gplusAccount = Repositories.GplusRepository.getGPlusAccount(profileId, _redisCache, dbr); if (gplusAccount == null) { return(BadRequest("Invalid ProfileId")); } if (gplusAccount.UserId != userId) { return(BadRequest("profile is added by other user")); } grpProfile.profileName = gplusAccount.GpUserName; grpProfile.profileOwnerId = userId; grpProfile.profilePic = gplusAccount.GpProfileImage; } else if (profileType == Domain.Socioboard.Enum.SocialProfileType.GoogleAnalytics) { Domain.Socioboard.Models.GoogleAnalyticsAccount gplusAccount = Repositories.GplusRepository.getGAAccount(profileId, _redisCache, dbr); if (gplusAccount == null) { return(BadRequest("Invalid ProfileId")); } if (gplusAccount.UserId != userId) { return(BadRequest("profile is added by other user")); } grpProfile.profileName = gplusAccount.GaProfileName; grpProfile.profileOwnerId = userId; grpProfile.profilePic = gplusAccount.ProfilePicUrl; } else if (profileType == Domain.Socioboard.Enum.SocialProfileType.Instagram) { Domain.Socioboard.Models.Instagramaccounts _Instagramaccounts = Repositories.InstagramRepository.getInstagramAccount(profileId, _redisCache, dbr); if (_Instagramaccounts == null) { return(BadRequest("Invalid ProfileId")); } if (_Instagramaccounts.UserId != userId) { return(BadRequest("profile is added by other user")); } grpProfile.profileName = _Instagramaccounts.InsUserName; grpProfile.profileOwnerId = userId; grpProfile.profilePic = _Instagramaccounts.ProfileUrl; } else if (profileType == Domain.Socioboard.Enum.SocialProfileType.LinkedIn) { Domain.Socioboard.Models.LinkedInAccount _LinkedInAccount = Repositories.LinkedInAccountRepository.getLinkedInAccount(profileId, _redisCache, dbr); if (_LinkedInAccount == null) { return(BadRequest("Invalid ProfileId")); } if (_LinkedInAccount.UserId != userId) { return(BadRequest("profile is added by other user")); } grpProfile.profileName = _LinkedInAccount.LinkedinUserName; grpProfile.profileOwnerId = userId; grpProfile.profilePic = _LinkedInAccount.ProfileImageUrl; } else if (profileType == Domain.Socioboard.Enum.SocialProfileType.LinkedInComapanyPage) { Domain.Socioboard.Models.LinkedinCompanyPage _LinkedInAccount = Repositories.LinkedInAccountRepository.getLinkedinCompanyPage(profileId, _redisCache, dbr); if (_LinkedInAccount == null) { return(BadRequest("Invalid ProfileId")); } if (_LinkedInAccount.UserId != userId) { return(BadRequest("profile is added by other user")); } grpProfile.profileName = _LinkedInAccount.LinkedinPageName; grpProfile.profileOwnerId = userId; grpProfile.profilePic = _LinkedInAccount.LogoUrl; } else if (profileType == Domain.Socioboard.Enum.SocialProfileType.YouTube) { Domain.Socioboard.Models.YoutubeChannel _YoutubeChannel = Repositories.GplusRepository.getYTChannel(profileId, _redisCache, dbr); if (_YoutubeChannel == null) { return(BadRequest("Invalid ProfileId")); } if (_YoutubeChannel.UserId != userId) { return(BadRequest("profile is added by other user")); } grpProfile.profileName = _YoutubeChannel.YtubeChannelName; grpProfile.profileOwnerId = userId; grpProfile.profilePic = _YoutubeChannel.ChannelpicUrl; } if (profileType == Domain.Socioboard.Enum.SocialProfileType.Pinterest) { Domain.Socioboard.Models.PinterestAccount pinAcc = dbr.Find <Domain.Socioboard.Models.PinterestAccount>(t => t.username.Equals(profileId)).FirstOrDefault(); if (pinAcc == null) { return(BadRequest("Invalid profileId")); } if (pinAcc.userid != userId) { return(BadRequest("profile is added by other user")); } grpProfile.profileName = pinAcc.firstname + " " + pinAcc.lastname; grpProfile.profileOwnerId = userId; grpProfile.profilePic = pinAcc.profileimgaeurl; grpProfile.profileType = profileType; } grpProfile.entryDate = DateTime.UtcNow; grpProfile.groupId = grp.id; grpProfile.profileId = profileId; grpProfile.profileType = profileType; dbr.Add <Domain.Socioboard.Models.Groupprofiles>(grpProfile); //codes to clear cache _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupProfiles + groupId); //end codes to clear cache return(Ok("Added Successfully")); } } }
public IActionResult PluginScheduleMessage(string profile, string twitterText, string tweetId, string tweetUrl, string facebookText, string url, string imgUrl, long userId, string scheduleTime, string localscheduleTime) { string[] profiles = profile.Split(','); foreach (var item in profiles) { string[] ids = item.Split('~'); if (ids[1] == "facebook") { try { string updatedtext = ""; string postmessage = ""; if (!string.IsNullOrEmpty(facebookText)) { string[] updatedmessgae = Regex.Split(facebookText, "<br>"); foreach (var items in updatedmessgae) { if (!string.IsNullOrEmpty(items)) { if (items.Contains("https://") || items.Contains("http://")) { if (string.IsNullOrEmpty(url)) { url = items; if (items.Contains("https://")) { string link = getBetween(url + "###", "https", "###"); link = "https" + link; url = link; } if (items.Contains("http://")) { string link = getBetween(url + "###", "http", "###"); link = "http" + link; url = link; } } } if (items.Contains("hhh") || items.Contains("nnn")) { if (items.Contains("hhh")) { postmessage = postmessage + "\n\r" + items.Replace("hhh", "#"); } else { postmessage = postmessage + "\n\r" + items; } } else { postmessage = postmessage + "\n\r" + items; } } } } updatedtext = postmessage; DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); Domain.Socioboard.Models.Facebookaccounts objFacebookAccount = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(ids[0], _redisCache, dbr); Helper.ScheduleMessageHelper.ScheduleMessage(ids[0], objFacebookAccount.FbUserName, updatedtext.ToString(), Domain.Socioboard.Enum.SocialProfileType.FacebookFanPage, userId, url, imgUrl, "https://graph.facebook.com/" + ids[0] + "/picture?type=small", scheduleTime, localscheduleTime, _appSettings, _redisCache, dbr, _logger); } catch (Exception ex) { } } else { try { DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); if (!string.IsNullOrEmpty(twitterText) || !string.IsNullOrEmpty(imgUrl)) { twitterText = twitterText + " " + tweetUrl; Domain.Socioboard.Models.TwitterAccount objTwitterAccount = Api.Socioboard.Repositories.TwitterRepository.getTwitterAccount(ids[0], _redisCache, dbr); Helper.ScheduleMessageHelper.ScheduleMessage(ids[0], objTwitterAccount.twitterScreenName, twitterText, Domain.Socioboard.Enum.SocialProfileType.Twitter, userId, "", imgUrl, objTwitterAccount.profileImageUrl, scheduleTime, localscheduleTime, _appSettings, _redisCache, dbr, _logger); } else { string data = TwitterRepository.TwitterRetweet_post(ids[0], tweetId, userId, 0, dbr, _logger, _redisCache, _appSettings); } } catch (Exception ex) { } } } return(Ok()); }
public IActionResult PluginComposemessage(string profile, string twitterText, string tweetId, string tweetUrl, string facebookText, string url, string imgUrl, long userId) { string[] profiles = profile.Split(','); int i = 0; foreach (var item in profiles) { string[] ids = item.Split('~'); if (ids[1] == "facebook") { string updatedtext = ""; string postmessage = ""; DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); Domain.Socioboard.Models.Facebookaccounts objFacebookAccount = Api.Socioboard.Repositories.FacebookRepository.getFacebookAccount(ids[0], _redisCache, dbr); if (!string.IsNullOrEmpty(facebookText)) { string[] updatedmessgae = Regex.Split(facebookText, "<br>"); foreach (var items in updatedmessgae) { if (!string.IsNullOrEmpty(items)) { if (items.Contains("https://") || items.Contains("http://")) { if (string.IsNullOrEmpty(url)) { url = items; if (items.Contains("https://")) { string link = getBetween(url + "###", "https", "###"); link = "https" + link; url = link; } if (items.Contains("http://")) { string link = getBetween(url + "###", "http", "###"); link = "http" + link; url = link; } } } if (items.Contains("hhh") || items.Contains("nnn")) { if (items.Contains("hhh")) { postmessage = postmessage + "\n\r" + items.Replace("hhh", "#"); } else { postmessage = postmessage + "\n\r" + items; } } else { postmessage = postmessage + "\n\r" + items; } } } } updatedtext = postmessage.Replace(url, ""); int count = dbr.GetCount <ScheduledMessage>(t => t.shareMessage == updatedtext && t.profileId == objFacebookAccount.FbUserId && t.url == imgUrl && t.scheduleTime.Date == DateTime.UtcNow.Date); if (count > 0) { i++; } else { string ret = Helper.FacebookHelper.ComposeMessage(objFacebookAccount.FbProfileType, objFacebookAccount.AccessToken, objFacebookAccount.FbUserId, updatedtext, ids[0], userId, imgUrl, url, dbr, _logger); } } else { DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); if (!string.IsNullOrEmpty(twitterText) || !string.IsNullOrEmpty(imgUrl)) { twitterText = twitterText + " " + tweetUrl; int count = dbr.GetCount <ScheduledMessage>(t => t.shareMessage == twitterText && t.profileId == ids[0] && t.url == imgUrl && t.scheduleTime.Date == DateTime.UtcNow.Date); if (count > 0) { i++; } else { string ret = Helper.TwitterHelper.PostTwitterMessage(_appSettings, _redisCache, twitterText, ids[0], userId, imgUrl, true, dbr, _logger); } } else { string data = TwitterRepository.TwitterRetweet_post(ids[0], tweetId, userId, 0, dbr, _logger, _redisCache, _appSettings); } } } if (i > 0) { return(Ok("it seems you already posted this message to few profiles")); } return(Ok("successfully posted")); }