public static async Task UpdateZipView()
        {
            Console.Write("Enter Zip: ");
            var newZip = Console.ReadLine();

            Console.WriteLine("");
            Console.WriteLine("Loading latitude/longitude from zippopotam.us ...");

            try
            {
                await APICallsController.GetCoordsFromZip(newZip);
            }
            catch (Exception ex)
            {
                Console.WriteLine("");
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine($"An error occured recovering zip code data.");
                Console.WriteLine("");
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.WriteLine($"Error: {ex}");
                Console.WriteLine("");
                await MenuView.ReturnToWelcome();
            }

            Console.WriteLine("");
            Console.WriteLine($"Location updated to {newZip} - {LocalValuesModel.City}, {LocalValuesModel.State}");

            await GetLocationData();
        }
        public static async Task SevenDayForecast()
        {
            SevenDayForecastModel infoReturn;

            if (LocalValuesModel.IsImperial)
            {
                infoReturn = JsonConvert.DeserializeObject <SevenDayForecastModel>(LocalValuesModel.SevenDayForecastImperial);
            }
            else
            {
                infoReturn = JsonConvert.DeserializeObject <SevenDayForecastModel>(LocalValuesModel.SevenDayForecast);
            }

            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine(" ╔═╗╔═╗╦  ╦╔═╗╔╗╔  ╔╦╗╔═╗╦ ╦  ╔═╗╔═╗╦═╗╔═╗╔═╗╔═╗╔═╗╔╦╗");
            Console.WriteLine(" ╚═╗║╣ ╚╗╔╝║╣ ║║║   ║║╠═╣╚╦╝  ╠╣ ║ ║╠╦╝║╣ ║  ╠═╣╚═╗ ║ ");
            Console.WriteLine(" ╚═╝╚═╝ ╚╝ ╚═╝╝╚╝  ═╩╝╩ ╩ ╩   ╚  ╚═╝╩╚═╚═╝╚═╝╩ ╩╚═╝ ╩");
            Console.WriteLine("");


            foreach (var period in infoReturn.Properties.Periods)
            {
                Console.Write("  ■  ");
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write($"{period.Name} ");
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine(period.DetailedForecast);
            }

            await MenuView.ReturnToWelcome();
        }
Exemplo n.º 3
0
        public static async Task SevenDayForecastHourly()
        {
            var infoReturn = JsonConvert.DeserializeObject <SevenDayForecastHourlyModel>(LocalValuesModel.SevenDayForecastHourly);
            var snip       = infoReturn.Properties.Periods;

            Console.WriteLine("");
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.Write("{0,-12}", " TIME");

            var dayList = MiscController.CreateDayListForecast();

            for (int i = 0; i < 7; i++)
            {
                Console.Write("{0,-15}", $"  {dayList[i]}");
            }

            var  hourArray = MiscController.CreateTwentyFourHours();
            bool column;
            bool color = true;

            foreach (string hour in hourArray)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                if (color)
                {
                    Console.ForegroundColor = ConsoleColor.Gray;
                }
                Console.WriteLine("");
                Console.Write("{0,-12}", $" {hour}");

                color = !color;
                if (color)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow;
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Gray;
                }

                column = true;

                for (var i = 0; i < 7; i++)
                {
                    for (var j = 0; j < snip.Count; j++)
                    {
                        if (hour == snip[j].StartTime.ToString("HH:00") && dayList[i] == snip[j].StartTime.ToString("MMM-dd"))
                        {
                            Console.Write("{0,-15}",
                                          $"{Math.Round((decimal)UnitConverterController.ConvertCelsiusToFahrenheit(snip[j].Temperature.Value), 0)}{LocalValuesModel.TempEnd} / " +
                                          $"{Math.Round((decimal)UnitConverterController.ConvertKilometerToMile(Convert.ToDecimal(snip[j].WindSpeed.Substring(0, 2).Trim())))}{LocalValuesModel.SpeedEnd}");
                            column = false;
                        }
                    }

                    if (column)
                    {
                        Console.Write("{0,-15}", "");
                    }
                }
            }
            Console.WriteLine("");
            await MenuView.ReturnToWelcome();
        }