public IActionResult GetYTChannelsSB(long groupId) { var lstYoutubeChannel = new List <YoutubeChannel>(); try { var dbr = new DatabaseRepository(_logger, _appEnv); var lstGrpProfiles = GroupProfilesRepository.getGroupProfiles(groupId, _redisCache, dbr); foreach (var item in lstGrpProfiles.Where(t => t.profileType == SocialProfileType.YouTube)) { var YTChnl = GplusRepository.getYTChannel(item.profileId, _redisCache, dbr); if (YTChnl != null) { lstYoutubeChannel.Add(YTChnl); } } } catch (Exception e) { Console.WriteLine(e); } return(Ok(lstYoutubeChannel)); }
public IActionResult getProfilesAvailableToConnect(long groupId, long userId) { DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); List <Domain.Socioboard.Models.Groupprofiles> lstGroupProfiles = GroupProfilesRepository.getGroupProfiles(groupId, _redisCache, dbr); List <Domain.Socioboard.Models.Groups> lstGroups = GroupsRepository.getAllGroupsofUser(userId, _redisCache, dbr); long defaultGroupId = lstGroups.FirstOrDefault(t => t.groupName.Equals(Domain.Socioboard.Consatants.SocioboardConsts.DefaultGroupName)).id; List <Domain.Socioboard.Models.Groupprofiles> defalutGroupProfiles = GroupProfilesRepository.getGroupProfiles(defaultGroupId, _redisCache, dbr); return(Ok(defalutGroupProfiles.Where(t => !lstGroupProfiles.Any(x => x.profileId.Equals(t.profileId))))); }
public IActionResult GetGAProfiles(long groupId) { var lstGoogleAnalyticsAccount = new List <GoogleAnalyticsAccount>(); try { var dbr = new DatabaseRepository(_logger, _appEnv); var lstGrpProfiles = GroupProfilesRepository.getGroupProfiles(groupId, _redisCache, dbr); foreach (var item in lstGrpProfiles.Where(t => t.profileType == SocialProfileType.GoogleAnalytics)) { var gAAcc = GplusRepository.getGAAccount(item.profileId, _redisCache, dbr); if (gAAcc != null) { lstGoogleAnalyticsAccount.Add(gAAcc); } } } catch (Exception e) { Console.WriteLine(e); } return(Ok(lstGoogleAnalyticsAccount)); }
public IActionResult GetGroupProfiles(long groupId) { DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); return(Ok(GroupProfilesRepository.getGroupProfiles(groupId, _redisCache, dbr))); }
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")); } } }