public async void loadAPI(string searchInput) { checkFavourite(searchInput); BasicWeatherRecord bwr = null; BasicWeatherRecord bwrT = null; DetailWeatherRecord dwr = null; if (searchInput.Equals("")) { bwrT = await WeatherProcess.LoadBasicWeatherRecordCoord(); bwr = await WeatherProcess.LoadBasicWeatherRecordCoord(); dwr = await WeatherProcess.LoadDetailWeatherRecordCoord(); } else { bwr = await WeatherProcess.LoadBasicWeatherRecord(searchInput); dwr = await WeatherProcess.LoadDetailWeatherRecord(searchInput); } if (bwr == null || dwr == null) { return; } cityName.Content = dwr.city.Name + ", " + dwr.city.Country; currentForecastTemperature.Content = Convert.ToInt32(bwr.Main.Temp) + "°C"; currentForecastStatus.Content = bwr.Weathers[0].Description; currentForecastInfo.Content = "Last update at " + DateTime.Now.ToString("HH:mm:ss"); currentForecastLogo.Source = getImage(bwr.Weathers[0].Icon); List <PerHourRecord> recordsDay2 = new List <PerHourRecord>(); List <PerHourRecord> recordsDay3 = new List <PerHourRecord>(); List <PerHourRecord> recordsDay4 = new List <PerHourRecord>(); List <PerHourRecord> recordsDay5 = new List <PerHourRecord>(); string dateDay2 = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); string dateDay3 = DateTime.Now.AddDays(2).ToString("yyyy-MM-dd"); string dateDay4 = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd"); string dateDay5 = DateTime.Now.AddDays(4).ToString("yyyy-MM-dd"); foreach (PerHourRecord phr in dwr.Records) { if (phr.time.StartsWith(dateDay2)) { recordsDay2.Add(phr); } else if (phr.time.StartsWith(dateDay3)) { recordsDay3.Add(phr); } else if (phr.time.StartsWith(dateDay4)) { recordsDay4.Add(phr); } else if (phr.time.StartsWith(dateDay5)) { recordsDay5.Add(phr); } } Day1Date.Content = DateTime.Today.ToString("dddd").Substring(0, 3) + " " + DateTime.Today.ToString("dd"); Day1Logo.Source = getImage(bwr.Weathers[0].Icon); Day1Max.Content = Convert.ToInt32(bwr.Main.Temp_max) + "°C"; Day1Min.Content = Convert.ToInt32(bwr.Main.Temp_min) + "°C"; Day1Description.Content = bwr.Weathers[0].Main; List <string> res2 = getMinAndMaxTemp(recordsDay2); Day2Date.Content = DateTime.Today.AddDays(1).ToString("dddd").Substring(0, 3) + " " + DateTime.Today.AddDays(1).ToString("dd"); Day2Max.Content = Convert.ToInt32(res2[1]) + "°C"; Day2Min.Content = Convert.ToInt32(res2[0]) + "°C"; Day2Description.Content = res2[2]; Day2Logo.Source = getImage(res2[3]); List <string> res3 = getMinAndMaxTemp(recordsDay3); Day3Date.Content = DateTime.Today.AddDays(2).ToString("dddd").Substring(0, 3) + " " + DateTime.Today.AddDays(2).ToString("dd"); Day3Max.Content = Convert.ToInt32(res3[1]) + "°C"; Day3Min.Content = Convert.ToInt32(res3[0]) + "°C"; Day3Description.Content = res3[2]; Day3Logo.Source = getImage(res3[3]); List <string> res4 = getMinAndMaxTemp(recordsDay4); Day4Date.Content = DateTime.Today.AddDays(3).ToString("dddd").Substring(0, 3) + " " + DateTime.Today.AddDays(3).ToString("dd"); Day4Max.Content = Convert.ToInt32(res4[1]) + "°C"; Day4Min.Content = Convert.ToInt32(res4[0]) + "°C"; Day4Description.Content = res4[2]; Day4Logo.Source = getImage(res4[3]); List <string> res5 = getMinAndMaxTemp(recordsDay5); Day5Date.Content = DateTime.Today.AddDays(4).ToString("dddd").Substring(0, 3) + " " + DateTime.Today.AddDays(4).ToString("dd"); Day5Max.Content = Convert.ToInt32(res5[1]) + "°C"; Day5Min.Content = Convert.ToInt32(res5[0]) + "°C"; Day5Description.Content = res5[2]; Day5Logo.Source = getImage(res5[3]); Detail1Temp.Content = Convert.ToInt32(dwr.Records[0].Main.Temp) + "°C"; Detail1Description.Content = dwr.Records[0].Weathers[0].Main; Detail1Time.Content = dwr.Records[0].time.Substring(dwr.Records[0].time.Length - 8, 5); Detail1Logo.Source = getImage(dwr.Records[0].Weathers[0].Icon); Detail2Temp.Content = Convert.ToInt32(dwr.Records[1].Main.Temp) + "°C"; Detail2Description.Content = dwr.Records[1].Weathers[0].Main; Detail2Time.Content = dwr.Records[1].time.Substring(dwr.Records[1].time.Length - 8, 5); Detail2Logo.Source = getImage(dwr.Records[1].Weathers[0].Icon); Detail3Temp.Content = Convert.ToInt32(dwr.Records[2].Main.Temp) + "°C"; Detail3Description.Content = dwr.Records[2].Weathers[0].Main; Detail3Time.Content = dwr.Records[2].time.Substring(dwr.Records[2].time.Length - 8, 5); Detail3Logo.Source = getImage(dwr.Records[2].Weathers[0].Icon); Detail4Temp.Content = Convert.ToInt32(dwr.Records[3].Main.Temp) + "°C"; Detail4Description.Content = dwr.Records[3].Weathers[0].Main; Detail4Time.Content = dwr.Records[3].time.Substring(dwr.Records[3].time.Length - 8, 5); Detail4Logo.Source = getImage(dwr.Records[3].Weathers[0].Icon); Detail5Temp.Content = Convert.ToInt32(dwr.Records[4].Main.Temp) + "°C"; Detail5Description.Content = dwr.Records[4].Weathers[0].Main; Detail5Time.Content = dwr.Records[4].time.Substring(dwr.Records[4].time.Length - 8, 5); Detail5Logo.Source = getImage(dwr.Records[4].Weathers[0].Icon); Detail6Temp.Content = Convert.ToInt32(dwr.Records[5].Main.Temp) + "°C"; Detail6Description.Content = dwr.Records[5].Weathers[0].Main; Detail6Time.Content = dwr.Records[5].time.Substring(dwr.Records[5].time.Length - 8, 5); Detail6Logo.Source = getImage(dwr.Records[5].Weathers[0].Icon); Detail7Temp.Content = Convert.ToInt32(dwr.Records[6].Main.Temp) + "°C"; Detail7Description.Content = dwr.Records[6].Weathers[0].Main; Detail7Time.Content = dwr.Records[6].time.Substring(dwr.Records[6].time.Length - 8, 5); Detail7Logo.Source = getImage(dwr.Records[6].Weathers[0].Icon); Detail8Temp.Content = Convert.ToInt32(dwr.Records[7].Main.Temp) + "°C"; Detail8Description.Content = dwr.Records[7].Weathers[0].Main; Detail8Time.Content = dwr.Records[7].time.Substring(dwr.Records[7].time.Length - 8, 5); Detail8Logo.Source = getImage(dwr.Records[7].Weathers[0].Icon); if (searchInput.Equals("")) { string currentLocation = cityName.Content.ToString(); List <string> currentCityList = currentLocation.Split(',').ToList <string>(); string currentCity = currentCityList[0]; checkFavourite(currentCity); } }
public async void loadTemperaturePerHour(string searchInput, string date, bool middle) { DetailWeatherRecord dwr = await WeatherProcess.LoadDetailWeatherRecord(searchInput); List <PerHourRecord> records = new List <PerHourRecord>(); string today = DateTime.Now.ToString("yyyy-MM-dd"); string lastDay = DateTime.Now.AddDays(4).ToString("yyyy-MM-dd"); if (today == date) { for (int i = 0; i < 12; i++) { records.Add(dwr.Records[i]); } } else if (lastDay == date) { int lasti = dwr.Records.Count - 8; for (int i = lasti; i < dwr.Records.Count; i++) { records.Add(dwr.Records[i]); } } else { foreach (PerHourRecord phr in dwr.Records) { if (phr.time.StartsWith(date)) { records.Add(phr); } } } Detail1Temp.Content = Convert.ToInt32(records[0].Main.Temp) + "°C"; Detail1Description.Content = records[0].Weathers[0].Main; Detail1Time.Content = records[0].time.Substring(records[0].time.Length - 8, 5); Detail1Logo.Source = getImage(records[0].Weathers[0].Icon); Detail2Temp.Content = Convert.ToInt32(records[1].Main.Temp) + "°C"; Detail2Description.Content = records[1].Weathers[0].Main; Detail2Time.Content = records[1].time.Substring(records[1].time.Length - 8, 5); Detail2Logo.Source = getImage(records[1].Weathers[0].Icon); Detail3Temp.Content = Convert.ToInt32(records[2].Main.Temp) + "°C"; Detail3Description.Content = records[2].Weathers[0].Main; Detail3Time.Content = records[2].time.Substring(records[2].time.Length - 8, 5); Detail3Logo.Source = getImage(records[2].Weathers[0].Icon); Detail4Temp.Content = Convert.ToInt32(records[3].Main.Temp) + "°C"; Detail4Description.Content = records[3].Weathers[0].Main; Detail4Time.Content = records[3].time.Substring(records[3].time.Length - 8, 5); Detail4Logo.Source = getImage(records[3].Weathers[0].Icon); Detail5Temp.Content = Convert.ToInt32(records[4].Main.Temp) + "°C"; Detail5Description.Content = records[4].Weathers[0].Main; Detail5Time.Content = records[4].time.Substring(records[4].time.Length - 8, 5); Detail5Logo.Source = getImage(records[4].Weathers[0].Icon); Detail6Temp.Content = Convert.ToInt32(records[5].Main.Temp) + "°C"; Detail6Description.Content = records[5].Weathers[0].Main; Detail6Time.Content = records[5].time.Substring(records[5].time.Length - 8, 5); Detail6Logo.Source = getImage(records[5].Weathers[0].Icon); Detail7Temp.Content = Convert.ToInt32(records[6].Main.Temp) + "°C"; Detail7Description.Content = records[6].Weathers[0].Main; Detail7Time.Content = records[6].time.Substring(records[6].time.Length - 8, 5); Detail7Logo.Source = getImage(records[6].Weathers[0].Icon); Detail8Temp.Content = Convert.ToInt32(records[7].Main.Temp) + "°C"; Detail8Description.Content = records[7].Weathers[0].Main; Detail8Time.Content = records[7].time.Substring(records[7].time.Length - 8, 5); Detail8Logo.Source = getImage(records[7].Weathers[0].Icon); }
public async void loadBookmarkAPI() { Bookmark bookmark = new Bookmark(); foreach (BookmarkData bd in bookmark.getHistory()) { MyGrid LabelGrid = new MyGrid(); LabelGrid.CityName = bd.CityName; LabelGrid.Background = getLightDailyColor(); LabelGrid.PreviewMouseDown += LabelGrid_PreviewMouseDown; LabelGrid.MouseEnter += LabelGrid_MouseEnter; LabelGrid.MouseLeave += LabelGrid_MouseLeave; LabelGrid.Margin = new Thickness(20, 20, 20, 20); LabelGrid.Height = 130; LabelGrid.Width = 200; LabelGrid.ColumnDefinitions.Clear(); LabelGrid.RowDefinitions.Clear(); LabelGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(2, GridUnitType.Star) }); LabelGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(4, GridUnitType.Star) }); LabelGrid.RowDefinitions.Clear(); BasicWeatherRecord bwr = await WeatherProcess.LoadBasicWeatherRecord(bd.CityName); LabelGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(4, GridUnitType.Star) }); LabelGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(4, GridUnitType.Star) }); LabelGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(2.5, GridUnitType.Star) }); LabelGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(2.5, GridUnitType.Star) }); Label cityName = new Label(); cityName.Content = bd.CityName; cityName.FontSize = 22; cityName.HorizontalAlignment = HorizontalAlignment.Center; cityName.Foreground = new SolidColorBrush(Colors.White); MyGrid.SetRow(cityName, 0); MyGrid.SetColumnSpan(cityName, 2); LabelGrid.Children.Add(cityName); Label currTemp = new Label(); currTemp.Content = Convert.ToInt32(bwr.Main.Temp) + "°C"; currTemp.FontSize = 22; currTemp.Foreground = new SolidColorBrush(Colors.White); MyGrid.SetRow(currTemp, 1); MyGrid.SetColumnSpan(currTemp, 2); currTemp.HorizontalAlignment = HorizontalAlignment.Center; LabelGrid.Children.Add(currTemp); Label maxTemp = new Label(); maxTemp.Content = "Max: " + Convert.ToInt32(bwr.Main.Temp_max) + "°C"; //maxTemp.FontSize = 15; maxTemp.Foreground = new SolidColorBrush(Colors.White); MyGrid.SetRow(maxTemp, 2); MyGrid.SetColumn(maxTemp, 1); maxTemp.HorizontalAlignment = HorizontalAlignment.Right; LabelGrid.Children.Add(maxTemp); Label minTemp = new Label(); minTemp.Content = "Min: " + Convert.ToInt32(bwr.Main.Temp_min) + "°C"; //minTemp.FontSize = 15; minTemp.HorizontalAlignment = HorizontalAlignment.Right; minTemp.Foreground = new SolidColorBrush(Colors.White); MyGrid.SetRow(minTemp, 3); MyGrid.SetColumn(minTemp, 1); LabelGrid.Children.Add(minTemp); Label description = new Label(); description.Content = bwr.Weathers[0].Main; description.Foreground = new SolidColorBrush(Colors.White); MyGrid.SetRow(description, 3); MyGrid.SetColumn(description, 0); LabelGrid.Children.Add(description); Image image = new Image(); image.Source = getImage(bwr.Weathers[0].Icon); image.HorizontalAlignment = HorizontalAlignment.Left; MyGrid.SetColumn(image, 0); MyGrid.SetRow(image, 2); LabelGrid.Children.Add(image); //I want to creatre the Seperate coloum and row to display KEY // VALUE Pair distinctly bookmarkList.Children.Add(LabelGrid); } }