Esempio n. 1
0
        public static List <Avaria> Index()
        {
            Utilizador    uti     = Utilizadores.Autenticado();
            List <Avaria> avarias = Avarias.Where("utilizador_id", "=", uti.Id);

            return(avarias);
        }
Esempio n. 2
0
        //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));
            }
        }