Exemplo n.º 1
0
 public void AddTask(string tag)
 {
     var taskExists = downloaders.SingleOrDefault(s => s.TAG.Equals(tag));
     if (taskExists == null)
     {
         var downloader = new Downloader
         {
             TAG = tag
         };
         downloaders.Add(downloader);
     }
 }
Exemplo n.º 2
0
        private static async Task UpdateTrakkedShows(CancellationToken token, string tag,
            Downloader downloader)
        {
            token.ThrowIfCancellationRequested();
            //TODO have error check on await GetStringAsync
            var TrakkedShows = new List<string>();

            var validToken = "";

            var currentUser = await BlobCache.UserAccount.GetObject<LoggedInUser>("loggedInUser");
            if (currentUser != null)
            {
                //TODO Handle Expired Token
                validToken = currentUser.Token;
            }

            token.ThrowIfCancellationRequested();
            var client = new HttpClientWrapper(new HttpClient());
            var data = await client
                .GetStringAsync("http://robobatapp.azurewebsites.net/api/tvshows?token=" + validToken);

            JArray myJArray = JArray.Parse(data);

            for (int i = 0; i < myJArray.Count; i++)
            {
                if (myJArray[i]["IsTrakked"].ToObject<bool>())
                {
                    TrakkedShows.Add(myJArray[i]["TMDBID"].ToString());
                }
            }
            //TODO no need to await this task, can just spawn it off?
            await BlobCache.UserAccount.InsertObject("trakkedList", TrakkedShows);

            downloader.Result = TrakkedShows;
            Console.WriteLine("My Task finished");
        }
Exemplo n.º 3
0
 //Determine Which Task to set up
 public void SetUpTask(Downloader downloader)
 {
     if (downloader.TAG.Equals(typeof(AddShowActivity).Name))
     {
         downloader.Task =  UpdateTrakkedShows(downloader.CancellationTokenSource.Token, downloader.TAG, downloader);
     }
     else
     {
         downloader.Task = WaitALot(downloader.CancellationTokenSource.Token, downloader.TAG);
     }
 }