public async void AddUserTwitterAccount(string userId, TwitterAccount twitterAccount) { var userCheck = await this.DbContext.Users.Include(x => x.TwitterAccounts).FirstOrDefaultAsync(x => x.Id == userId); if (userCheck != null) { var twitterAccountCheck = await this.DbContext.TwitterAccounts.FindAsync(twitterAccount.Id); if (twitterAccountCheck != null) { if (await this.DbContext.UserTwitterAccounts.FindAsync(userId, twitterAccount.Id) != null) { twitterAccountCheck.IsDeleted = false; var entry = this.DbContext.Entry(twitterAccountCheck); entry.State = EntityState.Modified; var userTwitterAccountToAdd = await this.DbContext.UserTwitterAccounts.FindAsync(userId, twitterAccount.Id); if (userTwitterAccountToAdd != null) { userTwitterAccountToAdd.IsDeleted = false; } } else { var userTwitterAccount = new UserTwitterAccount() { UserId = userId, User = userCheck, TwitterAccountId = twitterAccount.Id, TwitterAccount = twitterAccount }; await this.DbContext.UserTwitterAccounts.AddAsync(userTwitterAccount); } } else { base.Add(twitterAccount); var userTwitterAccount = new UserTwitterAccount() { UserId = userId, User = userCheck, TwitterAccountId = twitterAccount.Id, TwitterAccount = twitterAccount }; await this.DbContext.UserTwitterAccounts.AddAsync(userTwitterAccount); } } }
public async Task <bool> TwitterAccountAddedToUser(User user, TwitterAccount twitterAccount) { var checkIfTwitterAccountExists = await this.DbContext.UserTwitterAccounts.FindAsync(user.Id, twitterAccount.Id); if (checkIfTwitterAccountExists != null) { checkIfTwitterAccountExists.IsDeleted = false; return(true); } else { var userTwitterAccount = new UserTwitterAccount() { UserId = user.Id, User = user, TwitterAccountId = twitterAccount.Id, TwitterAccount = twitterAccount }; this.DbContext.UserTwitterAccounts.Add(userTwitterAccount); return(true); } }