public JsonResult Index(decimal?latitude, decimal?longitude) { XmlNodeList atributi = null; TemperatureApi model = new TemperatureApi(); if (latitude != null && longitude != null) { string api = "https://api.met.no/weatherapi/locationforecast/1.9/?lat=" + Math.Round((decimal)latitude, 2).ToString() + ";lon=" + Math.Round((decimal)longitude, 2).ToString(); XmlDocument doc = new XmlDocument(); doc.Load(api); XmlNodeList list = doc.GetElementsByTagName("time"); DateTime date = DateTime.Now; foreach (XmlNode node in list) { short fromH = Convert.ToInt16(node.Attributes["from"].InnerText.Split('T')[1].Split(':')[0]); short toH = Convert.ToInt16(node.Attributes["to"].InnerText.Split('T')[1].Split(':')[0]); if (fromH == date.Hour && toH == date.Hour) { atributi = node.ChildNodes[0].ChildNodes; } } } foreach (XmlNode item in atributi) { switch (item.Name) { case "temperature": model.Temperature = Convert.ToDecimal(item.Attributes["value"].Value); break; case "windDirection": model.WindDirection = Convert.ToDecimal(item.Attributes["deg"].Value); break; case "windSpeed": model.WindSpeed = Convert.ToDecimal(item.Attributes["mps"].Value); break; case "humidity": model.Humidity = Convert.ToDecimal(item.Attributes["value"].Value); break; case "pressure": model.Pressure = Convert.ToDecimal(item.Attributes["value"].Value); break; case "cloudiness": model.Cloudiness = Convert.ToDecimal(item.Attributes["percent"].Value); break; case "fog": model.Fog = Convert.ToDecimal(item.Attributes["percent"].Value); break; case "lowClouds": model.LowClouds = Convert.ToDecimal(item.Attributes["percent"].Value); break; case "mediumClouds": model.MediumClouds = Convert.ToDecimal(item.Attributes["percent"].Value); break; case "highClouds": model.HighClouds = Convert.ToDecimal(item.Attributes["percent"].Value); break; case "dewpointTemperature": model.DewpointTemperature = Convert.ToDecimal(item.Attributes["value"].Value); break; default: break; } } return(Json(model)); }
public void RefreshChartValues() { var test = new TemperatureApi(new HometerClient()).GetLastTemperaturesWithLimit(5); test.ForEach(e => temperatureEntries.Add(new Entry((float)e.Value) { ValueLabel = e.Value.ToString(), Color = SKColors.Red })); OnPropertyChanged(nameof(TemperatureChart)); }
public HomeViewModel() { var client = new HometerClient(); var temperatureApi = new TemperatureApi(client); var humidityApi = new HumidityApi(client); var pressureApi = new PressureApi(client); var task = new Task(async() => { while (true) { TemperatureString = temperatureApi.GetCurrentTemperatureAsString(); HumidityString = humidityApi.GetCurrentHumidity().Value.ToString(); PressureString = pressureApi.GetCurrentPressure().Value.ToString(); Debug.WriteLine("Test"); await Task.Delay(5000); } }); task.Start(); }