static private ClearAppSetting ( string key ) : bool | ||
key | string | |
Résultat | bool |
private void OnDisconnectFromCar2GoClicked(object sender, RoutedEventArgs e) { App.ClearAppSetting("car2go.oauth_token"); App.ClearAppSetting("car2go.oauth_request_token"); App.ClearAppSetting("car2go.oauth_token_secret"); App.ClearAppSetting("car2go.oauth_account_id"); App.ClearAppSetting("car2go.oauth_timestamp"); CheckCar2GoApiAccess(); }
private void OnClearMulticityCredentials(object sender, RoutedEventArgs e) { App.ClearAppSetting("multicity.username"); App.ClearAppSetting("multicity.password"); syncMulticityCredentialsWithApp(); }
private void OnClearDriveNowCredentials(object sender, RoutedEventArgs e) { App.ClearAppSetting("driveNow.username"); App.ClearAppSetting("driveNow.password"); syncDriveNowCredentialsWithApp(); }
private void CheckCar2GoApiAccess() { c2gAuthText.Text = Strings.SettingsPageCar2GoAuthStatusNotConnected; var oauth_timestamp = (DateTime?)App.GetAppSetting("car2go.oauth_token_timestamp"); if (null == oauth_timestamp) { App.ClearAppSetting("car2go.oauth_token"); App.ClearAppSetting("car2go.oauth_token_secret"); } else if (((DateTime)oauth_timestamp).AddDays(90.0).CompareTo(DateTime.UtcNow) <= 0) { c2gAuthText.Text = Strings.SettingsPageCar2GoAuthExpired; App.ClearAppSetting("car2go.oauth_token"); App.ClearAppSetting("car2go.oauth_token_secret"); } var oauth_token = (string)App.GetAppSetting("car2go.oauth_token"); var oauth_token_secret = (string)App.GetAppSetting("car2go.oauth_token_secret"); if (null != oauth_token && null != oauth_token_secret) { getCar2GoAccounts( oauth_token, oauth_token_secret, delegate(object client, DownloadStringCompletedEventArgs arguments) { string[] results = { }; if (null == arguments.Error) { //results = arguments.Result.Split(new char[] { '&' }, StringSplitOptions.None); using (Stream resultStream = Helpers.GenerateStreamFromString(arguments.Result)) { var serializer = new DataContractJsonSerializer(typeof(ResultAccounts)); var resultAccounts = (ResultAccounts)serializer.ReadObject(resultStream); switch (resultAccounts.ReturnValue.Code) { case 0: c2gAuthText.Text = String.Format( Strings.SettingsPageCar2GoAuthStatusOK, new string[] { resultAccounts.Account[0].Description, Car2Go.City }); App.SetAppSetting("car2go.oauth_account_id", resultAccounts.Account[0].AccountId); break; case 1: goto default; case 2: goto default; case 3: goto default; default: c2gAuthText.Text = String.Format( Strings.SettingsPageCar2GoAuthStatusError, new string[] { Car2Go.City }); break; } ShowConnectCar2GoApiButton = Visibility.Collapsed; disconnectCar2GoApi.Visibility = Visibility.Visible; DisconnectCar2GoApiButtonV = Visibility.Visible; verifierPanel.Visibility = Visibility.Collapsed; } } client = null; } ); } ShowConnectCar2GoApiButton = Visibility.Visible; DisconnectCar2GoApiButtonV = Visibility.Collapsed; disconnectCar2GoApi.Visibility = Visibility.Collapsed; }
private void CreateCar2GoBooking(DownloadStringCompletedEventHandler requestCallback) { var item = (Car2GoMarker)Item; var car2GoRequestEndpoint = "https://www.car2go.com/api/v2.1/bookings"; var oauth_timestamp = (DateTime?)App.GetAppSetting("car2go.oauth_token_timestamp"); if (null == oauth_timestamp) { App.ClearAppSetting("car2go.oauth_token"); App.ClearAppSetting("car2go.oauth_token_secret"); } else if (((DateTime)oauth_timestamp).AddDays(90.0).CompareTo(DateTime.UtcNow) <= 0) { App.ClearAppSetting("car2go.oauth_token"); App.ClearAppSetting("car2go.oauth_token_secret"); } var oauthToken = (string)App.GetAppSetting("car2go.oauth_token"); var oauthTokenSecret = (string)App.GetAppSetting("car2go.oauth_token_secret"); if (null == oauthToken || null == oauthTokenSecret) { HandleNotConnectedToCar2Go(null == oauth_timestamp ? "" : Strings.SettingsPageCar2GoAuthExpired); } var accountId = ""; try { accountId = ((int)App.GetAppSetting("car2go.oauth_account_id")).ToString(); } catch (NullReferenceException) { return; } var parameters = new WebParameterCollection(); parameters.Add("oauth_callback", "oob"); parameters.Add("oauth_signature_method", "HMAC-SHA1"); parameters.Add("oauth_token", oauthToken); parameters.Add("oauth_version", "1.0"); parameters.Add("oauth_consumer_key", FreeCarsCredentials.Car2Go.ConsumerKey); parameters.Add("oauth_timestamp", OAuthTools.GetTimestamp()); parameters.Add("oauth_nonce", OAuthTools.GetNonce()); parameters.Add("format", "json"); parameters.Add("loc", Car2Go.City); parameters.Add("vin", item.ID); parameters.Add("account", accountId); var signatureBase = OAuthTools.ConcatenateRequestElements("POST", car2GoRequestEndpoint, parameters); var signature = OAuthTools.GetSignature( OAuthSignatureMethod.HmacSha1, OAuthSignatureTreatment.Escaped, signatureBase, FreeCarsCredentials.Car2Go.SharedSecred, oauthTokenSecret); var requestParameters = OAuthTools.NormalizeRequestParameters(parameters); var para = requestParameters + "&oauth_signature=" + signature; Helpers.Post(car2GoRequestEndpoint, para, delegate(Stream response) { if (null == response) return; var serializer = new DataContractJsonSerializer(typeof(Car2GoBookingResult)); var resultAccounts = (Car2GoBookingResult)serializer.ReadObject(response); Dispatcher.BeginInvoke(() => { var mbResult = MessageBoxResult.None; try { mbResult = 0 == resultAccounts.ReturnValue.Code ? MessageBox.Show(resultAccounts.Booking[0].Vehicle.Position.Address, resultAccounts.ReturnValue.Description, MessageBoxButton.OK) : MessageBox.Show(resultAccounts.ReturnValue.Description); } catch (Exception) { Deactivate(); } if (mbResult == MessageBoxResult.OK) { InvokeActionCompleted(); FlurryWP7SDK.Api.LogEvent("Car2GoBookingSucessfull"); } }); }); FlurryWP7SDK.Api.LogEvent("Car2GoookingStarted"); }