public static List <Avaria> Index() { Utilizador uti = Utilizadores.Autenticado(); List <Avaria> avarias = Avarias.Where("utilizador_id", "=", uti.Id); return(avarias); }
//AVARAIS GERAL public async Task <IActionResult> Avarias() { bool getValue = Request.Cookies.TryGetValue("token", out string token); Request.Cookies.TryGetValue("roles", out string roles); if (!roles.Contains("Administrador")) { if (!roles.Contains("Historico")) { getValue = false; } } if (getValue) { Request.Cookies.TryGetValue("nrCliente", out string nrCliente); Uri uri_equipamentos = new Uri(URL_API); uri_equipamentos = new Uri(uri_equipamentos, "paulosautoapi/clientes/equipamentos/" + nrCliente); List <Equipamento> listaEquipamentos = new List <Equipamento>(); using (var httpClient = new HttpClient()) { using (var response = await httpClient.GetAsync(uri_equipamentos)) { string apiResponse = await response.Content.ReadAsStringAsync(); listaEquipamentos = JsonConvert.DeserializeObject <List <Equipamento> >(apiResponse); } } Dictionary <Avaria, string> listaTodasAvarias = new Dictionary <Avaria, string>(); foreach (var item in listaEquipamentos) { List <Avaria> listAvarias = new List <Avaria>(); using (var httpClient = new HttpClient()) { Uri uri_avarias = new Uri(URL_API); uri_avarias = new Uri(uri_avarias, "paulosautoapi/equipamentos/avarias/" + item.serialNumber); using (var response = await httpClient.GetAsync(uri_avarias)) { string apiResponse = await response.Content.ReadAsStringAsync(); listAvarias = JsonConvert.DeserializeObject <List <Avaria> >(apiResponse); } } foreach (var avar in listAvarias) { listaTodasAvarias.Add(avar, item.serialNumber); } } List <DateTime> listaDatas = new List <DateTime>(); foreach (var item in listaTodasAvarias) { if (!listaDatas.Contains(item.Key.dataRegisto)) { listaDatas.Add(item.Key.dataRegisto); } else { continue; } } listaDatas.Sort((a, b) => b.CompareTo(a)); var avariasVM = new Avarias { listTodasAvarias = listaTodasAvarias, listDates = listaDatas }; return(View(avariasVM)); } else { string prevURL = Request.Headers["Referer"].ToString(); return(Redirect(prevURL)); } }