Exemple #1
0
        public XkcdComicVM ComicObtenerPorId(int idComic)
        {
            _jsS = new JavaScriptSerializer();
            var url          = $"https://xkcd.com/" + idComic + "/info.0.json";
            var comic        = new XkcdComic();
            var jsonresponse = string.Empty;

            using (_client = new HttpClient())
            {
                var httpResp = _client.GetAsync(url).Result;
                if (httpResp.IsSuccessStatusCode)
                {
                    comic = _jsS.Deserialize <XkcdComic>(httpResp.Content.ReadAsStringAsync().Result);
                }
                else
                {
                    // I'm creating an empty object so it will be redirected to the home controller if you
                    // type Comic/404, comic/0, or any other invalid number directly into de address bar, since we know not
                    // which direction you're moving towards.

                    var comicDelDia = this.ComicObtener();
                    return(comicDelDia);
                }
            }

            var viewModel = new XkcdComicVM()
            {
                Comic   = comic,
                IdComic = comic.Num,
                NextId  = VerifyNext(comic.Num, "next"),
                PrevId  = VerifyNext(comic.Num, "previous")
            };

            return(viewModel);
        }
Exemple #2
0
        public XkcdComicVM MyFavourite()
        {
            //Reminds me of Éricka =')
            _jsS = new JavaScriptSerializer();
            var comic = new XkcdComic();
            var url   = $"https://xkcd.com/162/info.0.json";

            var jsonResponse = string.Empty;

            using (_client = new HttpClient())
            {
                jsonResponse = _client.GetStringAsync(url).Result;
                comic        = _jsS.Deserialize <XkcdComic>(jsonResponse);
            }

            var viewModel = new XkcdComicVM()
            {
                Comic   = comic,
                IdComic = comic.Num,
                NextId  = VerifyNext(comic.Num, "next"),
                PrevId  = VerifyNext(comic.Num, "previous")
            };

            return(viewModel);
        }
Exemple #3
0
        public XkcdComicVM ComicObtener()
        {
            _jsS = new JavaScriptSerializer();
            var comic        = new XkcdComic();
            var jsonresponse = string.Empty;

            using (_client = new HttpClient())

            {
                var httpResp = _client.GetAsync(_urlHome).Result;
                if (httpResp.IsSuccessStatusCode)
                {
                    comic = _jsS.Deserialize <XkcdComic>(httpResp.Content.ReadAsStringAsync().Result);
                }
            }

            SetLastComicId(comic.Num);

            var viewModel = new XkcdComicVM()
            {
                Comic   = comic,
                IdComic = comic.Num,
                NextId  = VerifyNext(comic.Num, "next"),
                PrevId  = VerifyNext(comic.Num, "previous")
            };

            return(viewModel);
        }