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);
                }
            }
        }
Пример #2
0
        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);
            }
        }