|
using System;
using System.Linq;
using System.Xml.Linq;
using System.Collections.Generic;
using WeatherApplet.Data;
namespace WeatherApplet.Model
{
public static class WeatherService
{
private static GlobalWeather service = new GlobalWeather();
private static Dictionary<string, IEnumerable<string>>
citiesOfcountry = new Dictionary<string, IEnumerable<string>>();
public static CurrentWeather GetWeather(string country, string city)
{
string xml = service.GetWeather(city, country);
XElement root = XElement.Parse(xml);
return CurrentWeather.Create(root.ToString());
}
public static IEnumerable<string> GetCitiesByCountry(string country)
{
if(!citiesOfcountry.ContainsKey(country))
{
string xml = service.GetCitiesByCountry(country);
XElement root = XElement.Parse(xml);
citiesOfcountry.Add(country,
(from city in root.Elements()
orderby city.Element("City").Value
select city.Element("City").Value));
}
return citiesOfcountry[country];
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Interested in design/development of framework functionality using the best patterns and practices.