Beispiel #1
0
        public async Task <List <PrevisaoTempoViewModel> > BuscarPrevisaoTempoCidadeAsync(string id)
        {
            var previsaoTempoDTO = await BuscarAsync <PrevisaoTempoDTO>($"{_urlBase}/forecast?id={id}{_chave}");

            var idioma = new CultureInfo("pt-BR");

            if (previsaoTempoDTO == null)
            {
                return(null);
            }

            var previsaoTempoDiasVM  = new List <PrevisaoTempoViewModel>();
            var previsaoTempoDiasDTO = previsaoTempoDTO
                                       .PrevisaoTempoDataHoraDTO
                                       .GroupBy(p => p.DataHora.ToLocalTime().Date);

            foreach (var previsaoDia in previsaoTempoDiasDTO)
            {
                var previsaoDiaVM = new PrevisaoTempoViewModel
                {
                    Data          = previsaoDia.Key.ToLocalTime().ToString("dddd, dd MMMM"),
                    PrevisaoHoras = new List <PrevisaoHoraViewModel>()
                };

                var previsaoTempoDia = previsaoTempoDTO
                                       .PrevisaoTempoDataHoraDTO
                                       .Where(p => p.DataHora.ToLocalTime().Date == previsaoDia.Key.Date);

                foreach (var previsaoHora in previsaoTempoDia)
                {
                    var clima = previsaoHora.Clima.First();

                    previsaoDiaVM.PrevisaoHoras.Add(new PrevisaoHoraViewModel
                    {
                        Hora              = previsaoHora.DataHora.ToLocalTime().ToString("HH:mm"),
                        Descricao         = clima.Descricao,
                        Icone             = clima.Icone,
                        TemperaturaMinima = previsaoHora.Temperatura.TemperaturaMinima,
                        TemperaturaMaxima = previsaoHora.Temperatura.TemperaturaMaxima,
                        Umidade           = previsaoHora.Temperatura.Umidade
                    });
                }

                previsaoTempoDiasVM.Add(previsaoDiaVM);
            }

            return(previsaoTempoDiasVM);
        }
        public ActionResult Index()
        {
            PrevisaoTempoViewModel viewModel = new PrevisaoTempoViewModel();

            return(View(viewModel));
        }