private void skydrive_SessionChanged(object sender, Microsoft.Live.Controls.LiveConnectSessionChangedEventArgs e) { if (e != null && e.Status == LiveConnectSessionStatus.Connected) { App.ViewModelData.LiveClient = new LiveConnectClient(e.Session); UploadBtn.IsEnabled = true; } else { App.ViewModelData.LiveClient = null; if (e.Error != null) { OSHelper.ShowToast(AppResources.TextID31); } } }
private async void PrepareFolderSkydrive() { try { LiveOperationResult operationResult = await App.ViewModelData.LiveClient.GetAsync("me/skydrive/files?filter=folders,albums"); var folderData = operationResult.Result as dynamic; var folders = folderData.data as dynamic; foreach (dynamic folder in folders) { if (folder.name.ToString().Equals(Constant.SKYDRIVE_FOLDER_NAME)) { App.ViewModelData.SkydriveFolderID = folder.id.ToString(); break; } } if (string.IsNullOrEmpty(App.ViewModelData.SkydriveFolderID)) { Dictionary <string, object> skyDriveFolderData = new Dictionary <string, object>(); skyDriveFolderData.Add("name", Constant.SKYDRIVE_FOLDER_NAME); LiveOperationResult createFolderResult = await App.ViewModelData.LiveClient.PostAsync("me/skydrive", skyDriveFolderData); var folder = createFolderResult.Result as dynamic; App.ViewModelData.SkydriveFolderID = folder.id.ToString(); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Exception everywhere " + ex.GetType()); OSHelper.ShowToast(AppResources.TextID32); } if (!string.IsNullOrEmpty(App.ViewModelData.SkydriveFolderID)) { SetAppBarButtonsEnable(true); } ProgressIndicator.IsRunning = false; }
//string ParseGoogleResponse(string data) //{ // var xmlElm = XElement.Parse(data); // var status = (from elm in xmlElm.Descendants() where elm.Name == "status" select elm).FirstOrDefault(); // if (status.Value.ToLower() == "ok") // { // var res = (from elm in xmlElm.Descendants() where elm.Name == "formatted_address" select elm).FirstOrDefault(); // return res.Value; // } // return null; //} private async Task <GeoCoordinate> GetCurrentLocation() { Geolocator geoLocator = new Geolocator() { DesiredAccuracy = PositionAccuracy.High }; try { var position = await geoLocator.GetGeopositionAsync(TimeSpan.FromHours(24), TimeSpan.FromSeconds(5)); return(CoordinateConverter.ConvertGeocoordinate(position.Coordinate)); } catch (Exception) { } Dispatcher.BeginInvoke(() => { OSHelper.ShowToast(AppResources.TextID18); }); return(null); }
void saveImageWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { OSHelper.ShowToast(AppResources.TextID19); }
async void locationWorker_DoWork(object sender, DoWorkEventArgs e) { Dispatcher.BeginInvoke(() => { LocationIndicator.IsRunning = true; TxtBoxLocation.IsEnabled = false; SetScreenButtonsEnabled(false); }); if (NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.None) { Dispatcher.BeginInvoke(() => { OSHelper.ShowToast(AppResources.TextID17); LocationIndicator.IsRunning = false; TxtBoxLocation.IsEnabled = true; SetScreenButtonsEnabled(true); }); return; } var currentPosition = await GetCurrentLocation(); if (currentPosition != null) { //string reverseGeocodingQuery = String.Format(Constant.GOOGLE_REVERSE_GEOCODING_URI, currentPosition.Latitude, currentPosition.Longitude); //HttpClient client = new HttpClient() //{ // Timeout = TimeSpan.FromMilliseconds(5000) //}; //HttpRequestMessage req = new HttpRequestMessage() //{ // RequestUri = new Uri(reverseGeocodingQuery, UriKind.Absolute) //}; //var res = await client.SendAsync(req); //string content = await res.Content.ReadAsStringAsync(); //string address = ParseGoogleResponse(content); Dispatcher.BeginInvoke(async() => { ReverseGeocodeQuery reverseGeocodingQuery = new ReverseGeocodeQuery() { GeoCoordinate = currentPosition }; var results = await reverseGeocodingQuery.GetMapLocationsAsync(); LocationIndicator.IsRunning = false; TxtBoxLocation.IsEnabled = true; SetScreenButtonsEnabled(true); if (results.Count > 0) { var geoAddress = results[0].Information.Address; TxtBoxLocation.Text = FormatAddress(geoAddress); } }); } else { Dispatcher.BeginInvoke(() => { LocationIndicator.IsRunning = false; TxtBoxLocation.IsEnabled = true; SetScreenButtonsEnabled(true); }); } }