public async Task <string> RegisterAsync(ITwitterAppAccount twitterAppAccount)
        {
            var newItem = TwitterAppAccount.Create(twitterAppAccount);
            await _tableStorage.InsertAsync(newItem);

            return(newItem.Id);
        }
        public IEnumerable <ITweetCash> GetTweetsByQuery(SearchTweetsParameters searchParameters,
                                                         ITwitterAppAccount account)
        {
            Auth.SetUserCredentials(account.ConsumerKey, account.ConsumerSecret,
                                    account.AccessToken, account.AccessTokenSecret);

            var user = User.GetAuthenticatedUser();

            List <ITweet> tweets = Search.SearchTweets(searchParameters).ToList();

            List <ITweetCash> tweetsToShow = new List <ITweetCash>();

            ITweet tw = tweets.FirstOrDefault();


            tweets?.ForEach(t => tweetsToShow.Add(new TweetCash()
            {
                PartitionKey = TweetCash.GeneratePartitionKey(account.Id),
                RowKey       = TweetCash.GenerateRowKey(t.CreatedAt, t.IdStr),
                TweetId      = t.IdStr,
                Title        = t.Text,
                Author       = t.CreatedBy.Name,
                Date         = t.CreatedAt,
                UserImage    = t.CreatedBy.ProfileImageUrl,
                TweetImage   = t.Media?.FirstOrDefault()?.MediaURL,
                AccountId    = account.Id,
                TweetJSON    = JsonConvert.SerializeObject(t.TweetDTO)
            })
                            );

            return(tweetsToShow);
        }
 public static TwitterAppAccount Update(ITwitterAppAccount src)
 {
     return(new TwitterAppAccount
     {
         PartitionKey = src.Email,
         RowKey = src.Id,
         ConsumerKey = src.ConsumerKey,
         ConsumerSecret = src.ConsumerSecret,
         AccessToken = src.AccessToken,
         AccessTokenSecret = src.AccessTokenSecret,
         LastSyncDate = src.LastSyncDate,
         Email = src.Email
     });
 }
 public static TwitterAppAccount Create(ITwitterAppAccount src)
 {
     return(new TwitterAppAccount
     {
         PartitionKey = GeneratePartitionKey(src.Email),
         RowKey = GenerateRowKey(),
         ConsumerKey = src.ConsumerKey,
         ConsumerSecret = src.ConsumerSecret,
         AccessToken = src.AccessToken,
         AccessTokenSecret = src.AccessTokenSecret,
         LastSyncDate = src.LastSyncDate,
         Email = src.Email
     });
 }
 public async Task UpdateAsync(ITwitterAppAccount twitterAppAccount)
 {
     var itemToupdate = TwitterAppAccount.Update(twitterAppAccount);
     await _tableStorage.InsertOrReplaceAsync(itemToupdate);
 }