public async Task <List <SiteSocialAccount> > GetFacebookSiteAccountsAsync() { List <SiteSocialAccount> accounts = new List <SiteSocialAccount>(); await UnitOfWorkManager.RunWithoutTransaction(null, () => { return(Task.Run(() => accounts = _siteSocialAccountRepo.FindAll().Where(t => t.FacebookPageId != null).ToList() )); }); return(accounts); }
private async Task <SocialAccount> GetSoicalAccount(string pageId) { SiteSocialAccount siteSocialAccount = null; await UnitOfWorkManager.RunWithoutTransaction(null, async() => { siteSocialAccount = await _siteSocialAccountRepo.FindAll().Where(t => t.FacebookPageId == pageId).FirstOrDefaultAsync(); }); if (siteSocialAccount == null) { return(null); } SocialAccount socialAccount = null; await UnitOfWorkManager.RunWithoutTransaction(siteSocialAccount.SiteId, async() => { socialAccount = await _socialAccountService.GetAccountAsync(SocialUserSource.Facebook, pageId); }); if (socialAccount == null) { return(null); } return(socialAccount); }
public async Task InsertSocialAccountInGeneralDb(SocialUserSource source, string originalId) { int?siteIdOrNull = CurrentUnitOfWork.GetSiteId(); if (siteIdOrNull == null) { throw new InvalidOperationException("site id must have value."); } int siteId = siteIdOrNull.Value; if (source == SocialUserSource.Facebook) { await UnitOfWorkManager.RunWithNewTransaction(null, async() => { if (!_siteSocialAccountRepo.FindAll().Any(t => t.SiteId == siteId && t.FacebookPageId == originalId)) { await _siteSocialAccountRepo.InsertAsync(new SiteSocialAccount { SiteId = siteId, FacebookPageId = originalId }); } }); } if (source == SocialUserSource.Twitter) { await UnitOfWorkManager.RunWithNewTransaction(null, async() => { if (!_siteSocialAccountRepo.FindAll().Any(t => t.SiteId == siteId && t.TwitterUserId == originalId)) { await _siteSocialAccountRepo.InsertAsync(new SiteSocialAccount { SiteId = siteId, TwitterUserId = originalId }); } }); } }