using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using System.Text; using VirtualTask.Models; using static System.Net.Mime.MediaTypeNames; namespace VirtualTask.Controllers { public class TecniciController : Controller { Uri baseAddress = new Uri("http://10.0.0.187:8000/api/Polo/tecniciList?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiVEVTVCIsImp0aSI6IjA2MzA5MzlmLTBhZDgtNDhkMi04ZTI5LWI3Mjk3N2IyOWM1YiIsInRlbmFudCI6Ik1BUlJPIiwidGNjb2RpY2UiOiJaWlogICAgICAgICAgICAiLCJleHAiOjE3MDE3Njk0NTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6NjE5NTUiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjQyMDAifQ.CDt3wR6ube4zzNscVG9Qv6bzOnNF6A9-bIZxxjbKmKI"); HttpClient client; Uri baseAddressCreate = new Uri("http://10.0.0.187:8000/api/Polo/tecnici/add?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiVEVTVCIsImp0aSI6IjA2MzA5MzlmLTBhZDgtNDhkMi04ZTI5LWI3Mjk3N2IyOWM1YiIsInRlbmFudCI6Ik1BUlJPIiwidGNjb2RpY2UiOiJaWlogICAgICAgICAgICAiLCJleHAiOjE3MDE3Njk0NTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6NjE5NTUiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjQyMDAifQ.CDt3wR6ube4zzNscVG9Qv6bzOnNF6A9-bIZxxjbKmKI"); HttpClient clientCreate; Uri baseAddressEdit = new Uri("http://10.0.0.187:8000/api/Polo/tecnici/mod?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiVEVTVCIsImp0aSI6IjA2MzA5MzlmLTBhZDgtNDhkMi04ZTI5LWI3Mjk3N2IyOWM1YiIsInRlbmFudCI6Ik1BUlJPIiwidGNjb2RpY2UiOiJaWlogICAgICAgICAgICAiLCJleHAiOjE3MDE3Njk0NTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6NjE5NTUiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjQyMDAifQ.CDt3wR6ube4zzNscVG9Qv6bzOnNF6A9-bIZxxjbKmKI"); HttpClient clientEdit; Uri baseAddressDelete = new Uri("http://10.0.0.187:8000/api/Polo/tecnici/del?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiVEVTVCIsImp0aSI6IjA2MzA5MzlmLTBhZDgtNDhkMi04ZTI5LWI3Mjk3N2IyOWM1YiIsInRlbmFudCI6Ik1BUlJPIiwidGNjb2RpY2UiOiJaWlogICAgICAgICAgICAiLCJleHAiOjE3MDE3Njk0NTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6NjE5NTUiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjQyMDAifQ.CDt3wR6ube4zzNscVG9Qv6bzOnNF6A9-bIZxxjbKmKI"); HttpClient clientDelete; public TecniciController() { client = new HttpClient(); client.BaseAddress = baseAddress; clientCreate = new HttpClient(); clientCreate.BaseAddress = baseAddressCreate; clientEdit = new HttpClient(); clientEdit.BaseAddress = baseAddressEdit; clientDelete = new HttpClient(); clientDelete.BaseAddress = baseAddressDelete; } #region INDEX public IActionResult Index() { List tecniciList = new List(); HttpResponseMessage response = client.GetAsync(baseAddress).Result; if (response.IsSuccessStatusCode) { string data = response.Content.ReadAsStringAsync().Result; tecniciList = JsonConvert.DeserializeObject>(data); } return View(tecniciList); } #endregion INDEX #region CREATE public IActionResult Create() { return View(); } [HttpPost] public IActionResult Create(Tecnici model) { string data = JsonConvert.SerializeObject(model); StringContent content = new StringContent(data, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync(baseAddressCreate, content).Result; if (response.IsSuccessStatusCode) { return RedirectToAction("Index"); } return View(); } #endregion CREATE #region DETAIL public IActionResult Details(string id) { Tecnici tecnico = new Tecnici(); List modelList = new List(); HttpResponseMessage response = client.GetAsync(baseAddress).Result; if (response.IsSuccessStatusCode) { string data = response.Content.ReadAsStringAsync().Result; modelList = JsonConvert.DeserializeObject < List>(data); tecnico = modelList.Where(x => x.tccodice.Equals(id)).First(); } return View(tecnico); } #endregion DETAIL #region EDIT public IActionResult Edit(string id) { Tecnici tecnico = new Tecnici(); List modelList = new List(); HttpResponseMessage response = client.GetAsync(baseAddress).Result; if (response.IsSuccessStatusCode) { string data = response.Content.ReadAsStringAsync().Result; modelList = JsonConvert.DeserializeObject< List>(data); tecnico = modelList.Where(x => x.tccodice.Equals(id)).First(); } return View(tecnico); } [HttpPost] public IActionResult Edit(Tecnici tecnico) { string data = JsonConvert.SerializeObject(tecnico); StringContent content = new StringContent(data, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync(baseAddressEdit, content).Result; if (response.IsSuccessStatusCode) { return RedirectToAction("Index"); } return View(tecnico); } #endregion EDIT #region DELETE [HttpGet] public IActionResult Delete(string id) { Tecnici tecnico = new Tecnici(); List modelList = new List(); HttpResponseMessage response= client.GetAsync(baseAddress).Result; if (response.IsSuccessStatusCode) { string data = response.Content.ReadAsStringAsync().Result; modelList = JsonConvert.DeserializeObject>(data); tecnico = modelList.Where(x => x.tccodice.Equals(id)).First(); } return View(tecnico); } [HttpPost, ActionName("DeleteConfirmed")] public IActionResult DeleteConfirmed(string id) { Uri codice = new Uri("http://10.0.0.187:8000/api/Polo/tecnici/del?"); string data = JsonConvert.SerializeObject(id); StringContent content = new StringContent(data, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync(codice + "codice=" + id + "&" + "token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZ" + "W50aXR5L2NsYWltcy9uYW1lIjoiVEVTVCIsImp0aSI6IjA2MzA5MzlmLTBhZDgtNDhkMi04ZTI5LWI3Mjk3N2IyOWM1YiIsInRlbmFudCI6Ik1BUlJPIiwidGNjb2RpY2UiOiJaWlogICAgICAgICAgICAiLCJleHAiOjE3MDE3N" + "jk0NTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6NjE5NTUiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjQyMDAifQ.CDt3wR6ube4zzNscVG9Qv6bzOnNF6A9-bIZxxjbKmKI", content).Result; if (response.IsSuccessStatusCode) { return RedirectToAction("Index"); } return View(); } #endregion DELETE } }