ClearAppSetting() static private méthode

static private ClearAppSetting ( string key ) : bool
key string
Résultat bool
Exemple #1
0
 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();
 }
Exemple #2
0
 private void OnClearMulticityCredentials(object sender, RoutedEventArgs e)
 {
     App.ClearAppSetting("multicity.username");
     App.ClearAppSetting("multicity.password");
     syncMulticityCredentialsWithApp();
 }
Exemple #3
0
 private void OnClearDriveNowCredentials(object sender, RoutedEventArgs e)
 {
     App.ClearAppSetting("driveNow.username");
     App.ClearAppSetting("driveNow.password");
     syncDriveNowCredentialsWithApp();
 }
Exemple #4
0
        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");
        }