private static string GetWeatherTileTemplateAsImageFile(City SelectedCity) { TileControl TileTemplate = new TileControl(); TileTemplate.DataContext = SelectedCity; TileTemplate.Measure(new Size(173, 173)); TileTemplate.Arrange(new Rect(0, 0, 173, 173)); var bmp = new WriteableBitmap(173, 173); bmp.Render(TileTemplate, null); bmp.Invalidate(); var isf = IsolatedStorageFile.GetUserStoreForApplication(); var filename = "/Shared/ShellContent/tile.jpg"; if (!isf.DirectoryExists("/Shared/ShellContent")) { isf.CreateDirectory("/Shared/ShellContent"); } using (var stream = isf.OpenFile(filename, FileMode.OpenOrCreate)) { bmp.SaveJpeg(stream, 173, 173, 0, 100); } return filename; }
public static async void GetCurrentDeviceGeoLocation() { Geocoordinate GeoCorResult = await GetCurrentGeoPosition(); CurrentCity = new City(); CurrentCity.Latitude = GeoCorResult.Latitude; CurrentCity.Longitude = GeoCorResult.Longitude; ReverseGeocodeQuery RGeoQ = new ReverseGeocodeQuery(); RGeoQ.GeoCoordinate = new GeoCoordinate(GeoCorResult.Latitude, GeoCorResult.Longitude); RGeoQ.QueryCompleted += reverseGeocode_QueryCompleted; RGeoQ.QueryAsync(); }
public static void PinCityWeatherTile(City SelectedCity) { if (SelectedCity.IsCurrentCity) { MessageBox.Show(SelectedCity.CityName + " is Aleardy Pinned"); return; } FlipTileData PrimaryTileData = new FlipTileData(); PrimaryTileData.Count = 0; PrimaryTileData.Title = "WeatherApp"; PrimaryTileData.BackgroundImage = new Uri("isostore:" + GetWeatherTileTemplateAsImageFile(SelectedCity), UriKind.Absolute); if (!IsCityTilePinned(SelectedCity.CityName)) { ShellTile.Create(new Uri("/MainPage.xaml?City=" + SelectedCity.CityName, UriKind.Relative), PrimaryTileData, false); } else { MessageBox.Show(SelectedCity.CityName + " is Aleardy Pinned"); } }
public static async Task<Uri> GetCityWeatherPhoto(City WeatherCity) { Uri PhotoURI = null; string Lisences = String.Join(",", FlickrAPILiscenseTypes); Lisences.Replace(",", "%2C"); string TextSearch = WeatherCity.CityName + "%20" + WeatherCity.CityCurrentWeather.WeatherDescription.Replace(" ","%20"); string SearchURL = string.Format(FLickrAPIURLTemplate, FlickrAPIKey, TextSearch);//, WeatherCity.Latitude, WeatherCity.Longitude); string JSONResponse = await WebServiceManager.CallWebService(SearchURL); FlickrPhotosSet FLickrData = JsonConvert.DeserializeObject<FlickrPhotosSet>(JSONResponse); List<Photo> FoundedPhotos = FLickrData.photos.photo; if (FoundedPhotos.Count > 0) { string PhotoURL = PhotoURL = string.Format(PhotoURLTemplate, FoundedPhotos[0].farm, FoundedPhotos[0].server, FoundedPhotos[0].id, FoundedPhotos[0].secret); PhotoURI = new Uri(PhotoURL); } return PhotoURI; }
public bool IsCityExists(City FindCity) { foreach (City c in CityCollection) { if (c.CityName == FindCity.CityName) { return true; } } return false; }
public bool RemoveCity(City CityToDelete) { return this.CityCollection.Remove(CityToDelete); }
public bool IsCityExists(City FindCity, bool IsCurrentCityFlag) { bool IsExist = false; foreach (City c in CityCollection) { if (c.CityName == FindCity.CityName) { if (c.IsCurrentCity != IsCurrentCityFlag) { c.IsCurrentCity = IsCurrentCityFlag; } IsExist = true; } else { c.IsCurrentCity = !IsCurrentCityFlag; } } return IsExist; }