using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Newtonsoft.Json; using SoftwayWeb.Models; using X.PagedList; namespace SoftwayWeb.Controllers { public class DestinazioniController : Controller { string apiUrl = string.Empty; string urlBase = string.Empty; string token = string.Empty; string errMes = string.Empty; private readonly IConfiguration _configuration; HttpClient client; SessionHelper helper; public DestinazioniController(IConfiguration configuration) { _configuration = configuration; client = new HttpClient(); var key = _configuration["ApplicationInsights:rootUrlApi"]; apiUrl = key; } public IActionResult Index(string id, string? codAutista, DateTime dataGiro, string? codMezzo, int? page = 1) { helper = new SessionHelper(this); token = helper.GetStringValue("tok"); if (!string.IsNullOrEmpty(codAutista)) { helper.SetStringValue("codAutista", codAutista); } else { string s = helper.GetStringValue("codAutista"); } ViewBag.CodAutista = codAutista; //if (codAutista == null) //{ // //ViewBag.CodAutista = "codAutista"; // codAutista = ViewBag.CodAutista; //} //if (!string.IsNullOrEmpty(codAutista)) //{ // //modelList = modelList.Where(x => x.CodAutista.Contains(codAutista)).ToList(); // ViewData["CurrentFilter"] = codAutista; // ViewBag.Autista = codAutista; //} //else //{ // ViewData = ViewBag.CodAutista; //} urlBase = apiUrl + "Giri/listaDestinazioniByAutistaDataMezzo"; string dataGi = dataGiro.ToString("yyyy-MM-dd'T'HH:mm:ss.fff'Z'"); urlBase = urlBase + "?autista=" + codAutista.TrimEnd() + "&dataGiro=" + dataGi + "&mezzo=" + codMezzo; Uri baseAddress = new Uri(urlBase); client = new HttpClient(); client.BaseAddress = baseAddress; List modelList = new List(); HttpResponseMessage response = client.GetAsync(baseAddress).Result; if (response.IsSuccessStatusCode) { string dato = response.Content.ReadAsStringAsync().Result; modelList = JsonConvert.DeserializeObject>(dato); modelList = modelList.Where(x => x.serialeGiro == id).ToList(); //ViewData["codAutista"] = codAutista; //ViewBag.CodAutista = "codAutista"; //ViewBag.DataGiro = dataGiro; //ViewBag.CodMezzo = codMezzo; if (page != null && page < 1) { page = 1; } var pageSize = 10; var shortList = modelList.ToPagedList(page ?? 1, pageSize); return View(/*modelList*/shortList); } else { errMes = response.Content.ReadAsStringAsync().Result; helper.SetStringValue("errMsg", errMes); return RedirectToAction("Error"); } //var shortList = modelList.ToPagedList(); //return View(shortList); } } }