Ejemplo n.º 1
0
        /* Function: RepeatDadJokes(HttpClient, string, DadJokesSettings)
         * This function is called when Option 1 is selected from the UI.  It hits the API, displays the joke,
         * waits 10 seconds, and then repeats the process.
         * */
        public async Task RepeatDadJokes(CancellationTokenSource source)
        {
            try
            {
                using (HttpClient client = new HttpClient())
                {
                    InitializeClient(client);

                    while (!source.IsCancellationRequested)
                    {
                        _responseBody = await client.GetStringAsync(_settings.BaseURL);

                        DadJoke dadJoke = JsonConvert.DeserializeObject <DadJoke>(_responseBody);

                        if (dadJoke.Status.Equals("200") && dadJoke.Joke.Length != 0)
                        {
                            Console.WriteLine(dadJoke.Joke);
                        }

                        await Task.Delay(_settings.JokesDelay);
                    }
                }
            }

            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e);
                Console.WriteLine("Press any key to exit.");
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Called when user clicks on the add-in menu
        /// </summary>
        /// <param name="e">The context of the VS tools and metadata</param>
        public override void OnClick(AddinEventArgs e)
        {
            try
            {
                DadJoke           joke  = DadJoke.construct(Request.dadJoke());
                MotivationalQuote quote = MotivationalQuote.construct(Request.motivationalQuote());

                string message = string.Empty;

                if (joke.Id != null)
                {
                    //message += string.Format("Dad joke:\n{0}", joke.Joke);
                    message += joke.Joke;
                }

                //if (quote.Id != 0)
                //{
                //    message += "\n\n";
                //    message += string.Format("Motivational quote:\n{0}{1}", HttpUtility.HtmlDecode(quote.Content), quote.Title.ToUpper());
                //}

                CoreUtility.DisplayInfo(message);
            }
            catch (Exception ex)
            {
                CoreUtility.HandleExceptionWithErrorMessage(ex);
            }
        }
Ejemplo n.º 3
0
        public async Task <DadJoke> GetRandom()
        {
            DadJoke dadJokeResponse = null;

            try
            {
                using (var httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    httpClient.DefaultRequestHeaders.Add("User-Agent", "Lloyd needs a new job"); //icanhazdadjoke wants people to set a custome user agent
                    using (var result = httpClient.GetAsync(baseUrl).Result)
                    {
                        if (result.IsSuccessStatusCode)
                        {
                            dadJokeResponse = JsonConvert.DeserializeObject <DadJoke>(result.Content.ReadAsStringAsync().Result);
                        }
                    }
                }
            }
            catch (Newtonsoft.Json.JsonException ex)
            {
                this.logger.Log(LogLevel.Information, ex.Message);
            }
            return(dadJokeResponse);
        }
Ejemplo n.º 4
0
        //Call Dad Joke Http REST get Service
        public DadJoke GetRandomDadJoke()
        {
            //Call Dad Joke REST Service
            var client  = new RestClient("https://icanhazdadjoke.com");
            var request = new RestRequest("/", Method.GET);

            //Get Response from GET Http Call
            IRestResponse response = client.Execute(request);

            //Deserialize Response
            DadJoke joke = JsonConvert.DeserializeObject <DadJoke>(response.Content);

            return(joke);
        }
        public async Task <DadJoke> GetRandomJoke()
        {
            using (HttpResponseMessage response = await _httpClient.GetAsync("https://icanhazdadjoke.com/"))
            {
                if (response.IsSuccessStatusCode)
                {
                    DadJoke model = await response.Content.ReadAsAsync <DadJoke>();

                    return(model);
                }
                else
                {
                    throw new Exception(response.ReasonPhrase);
                }
            }
        }
Ejemplo n.º 6
0
        public async Task <DadJoke> GetDadJoke()
        {
            HttpResponseMessage response = await _httpClient.GetAsync(baseUrl);

            _httpClient.DefaultRequestHeaders
            .Accept
            .Add(new MediaTypeWithQualityHeaderValue("application/json"));//ACCEPT header


            if (response.IsSuccessStatusCode)
            {
                DadJoke dadjoke = await response.Content.ReadAsAsync <DadJoke>();

                return(dadjoke);
            }
            return(null);
        }
Ejemplo n.º 7
0
 public HomeModel(DadJoke joke, string searchTerm, JokeSearchResults searchResults)
 {
     this.Joke          = joke;
     this.SearchTerm    = searchTerm;
     this.SearchResults = searchResults;
 }
Ejemplo n.º 8
0
 public HomeModel(DadJoke joke)
 {
     this.Joke = joke;
 }