using MemanggilApi.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web;
using System.Web.Mvc;

namespace MemanggilApi.Controllers
{
    public class Mahasiswa2Controller : Controller
    {
        // GET: Mahasiswa2
        public ActionResult Index()
        {
            using (WebClient httpClient = new WebClient())
            {
                var jsonData = httpClient.DownloadString("http://localhost:49654/api/mahasiswa");
                IEnumerable<Models.MAHASISWA> mahasiswa = JsonConvert.DeserializeObject<IEnumerable<Models.MAHASISWA>>(jsonData);
                return View(mahasiswa);
            }

        }
        public ActionResult Create()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Create(MAHASISWA mahasiswa)
        {
            //kalau untuk GET       
            using (var client = new HttpClient())
            {

                //client.BaseAddress = new Uri("http://localhost:49654/");
                string stringData = JsonConvert.SerializeObject(mahasiswa);
                var contentData = new StringContent(stringData, System.Text.Encoding.UTF8, "application/json");
                //HttpResponseMessage response = client.PostAsync("api/mahasiswa2", contentData).Result;
                HttpResponseMessage response = client.PostAsync("http://localhost:49654/api/mahasiswa2", contentData).Result; //ini bisa juga

                return RedirectToAction("Index");
            }
                     
        }

        public ActionResult Delete(int id)
        {
            MAHASISWA mahasiswa = new MAHASISWA();         

            using (WebClient httpClient = new WebClient())
            {
                var jsonData = httpClient.DownloadString("http://localhost:49654/api/mahasiswa2/" + id);
                mahasiswa = JsonConvert.DeserializeObject<MAHASISWA>(jsonData);
            }

            if (mahasiswa == null)
            {
                return HttpNotFound();
            }

            return View(mahasiswa);
        }

        [HttpPost, ActionName("Delete")] //karena kita ganti namanya jadi DeleteConfirmed
        [ValidateAntiForgeryToken]
        public ActionResult DeleteConfirmed(int id)
        {
            int i = id;
            try
            {

                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri("http://localhost:49654/");
                client.DefaultRequestHeaders.Accept.Clear();
                HttpResponseMessage response = client.DeleteAsync("api/mahasiswa2/" + id).Result;
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

        public ActionResult Edit(int id)
        {
            MAHASISWA mahasiswa = new MAHASISWA();

            using (WebClient httpClient = new WebClient())
            {
                var jsonData = httpClient.DownloadString("http://localhost:49654/api/mahasiswa2/" + id);
                mahasiswa = JsonConvert.DeserializeObject<MAHASISWA>(jsonData);
            }

            if (mahasiswa == null)
            {
                return HttpNotFound();
            }

            return View(mahasiswa);
        }

        [HttpPost, ActionName("Edit")] //karena kita ganti namanya jadi EditConfirmed
        [ValidateAntiForgeryToken]
        public ActionResult EditConfirmed(int id, MAHASISWA mahasiswa)
        {

            using (var client = new HttpClient())
            {
                string stringData = JsonConvert.SerializeObject(mahasiswa);
                var contentData = new StringContent(stringData, System.Text.Encoding.UTF8, "application/json");
                HttpResponseMessage response = client.PutAsync("http://localhost:49654/api/mahasiswa2/" + id, contentData).Result; //ini bisa juga
                return RedirectToAction("Index");
            }
        }
    }
   
}

Komentar

Postingan populer dari blog ini