public AnimalModels GetAll()
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            AnimalModels animal = new AnimalModels();

            animal.Info = new List <AnimalModel>();

            var webClient = new WebClient();
            var html      = webClient.DownloadString("https://a-z-animals.com/animals/pictures/");

            var htmlDocument = new HtmlDocument();

            htmlDocument.LoadHtml(html);

            var nodes = htmlDocument
                        .DocumentNode
                        .Descendants("img")
                        .Where(node =>
                               node.Attributes["src"] != null &&
                               node.Attributes["title"] != null)
                        .ToList();

            foreach (var node in nodes)
            {
                AnimalModel item = new AnimalModel();
                item.AnimalName = node.Attributes["title"].Value;
                item.Src        = node.Attributes["src"].Value;
                animal.Info.Add(item);
            }
            return(animal);
        }
 public ActionResult Index(AnimalModels model)
 {
     //[B]the update
     model.AnimalList[int.Parse(model.AnimalId)].Selected = true;
     //[E]the update
     return(View(model));
 }
        // GET: Zoo/Edit/5
        public async Task <ActionResult> Edit(int id)
        {
            AnimalModels model = new AnimalModels();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:56287/");
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                var json = await client.GetStringAsync($"api/Animal/{id}");

                //convierto los valores de un json en un modelo
                model = JsonConvert.DeserializeObject <AnimalModels>(json);
            }
            return(View(model));
        }
    //
    // GET: /Animal/

    public ActionResult Index()
    {
        AnimalModels model = new AnimalModels();

        model = new AnimalModels();
        //[B]the update
        model.AnimalList = new List <SelectListItem>();
        model.AnimalList.Add(new SelectListItem {
            Value = "0", Text = "Tiger"
        });
        model.AnimalList.Add(new SelectListItem {
            Value = "1", Text = "Lion"
        });
        //[E]the update
        return(View(model));
    }
        public async Task <ActionResult> Delete(int id, AnimalModels Objeto)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri("http://localhost:56287/");
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    HttpResponseMessage response = await client.DeleteAsync($"api/Animal/{id}");

                    response.EnsureSuccessStatusCode();
                }
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        public async Task <ActionResult> Edit(int id, AnimalModels Objeto)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri("http://localhost:56287/");
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    HttpResponseMessage response = await client.PutAsJsonAsync($"api/Animal/{id}", Objeto);

                    response.EnsureSuccessStatusCode();
                    // Deserialize the updated product from the response body.
                    //model = await response.Content.ReadAsAsync<AnimalModels>();
                }
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }