GetAppSetting() static private method

static private GetAppSetting ( string key ) : object
key string
return object
Exemplo n.º 1
0
        private void ReloadPOIs()
        {
            VisualStateManager.GoToState(this, "CarsLoadingShow", true);
            if (null == App.GetAppSetting("settings_show_car2go_cars") ||
                (bool)App.GetAppSetting("settings_show_car2go_cars"))
            {
                isRefreshingCar2Go = true;
                VisualStateManager.GoToState(this, "isRefreshingCar2GoState", false);
            }
            if (null == App.GetAppSetting("settings_show_drivenow_cars") ||
                (bool)App.GetAppSetting("settings_show_drivenow_cars"))
            {
                isRefreshingDriveNow = true;
                VisualStateManager.GoToState(this, "isRefreshingDriveNowState", false);
            }
            if (null == App.GetAppSetting("settings_show_multicity_cars") ||
                (bool)App.GetAppSetting("settings_show_multicity_cars"))
            {
                isRefreshingMulticityCars = true;
                VisualStateManager.GoToState(this, "isRefreshingMulticityState", false);
            }
            if (null == App.GetAppSetting("settings_show_multicity_chargers") ||
                (bool)App.GetAppSetting("settings_show_multicity_chargers"))
            {
                isRefreshingMulticityChargers = true;
                VisualStateManager.GoToState(this, "isRefreshingMulticityState", false);
            }

            ((App)Application.Current).ReloadPOIs();
        }
Exemplo n.º 2
0
        private void OnEnterVerifierClicked(object sender, RoutedEventArgs e)
        {
            var tokenData = new string[2];

            tokenData[0] = (string)App.GetAppSetting("car2go.oauth_request_token");
            tokenData[1] = car2goVerifierCodeTextBox.Text;
            getC2GAccessToken(tokenData);
        }
Exemplo n.º 3
0
        private void syncMulticityCredentialsWithApp()
        {
            var username = (string)App.GetAppSetting("multicity.username");
            var password = (string)App.GetAppSetting("multicity.password");

            if (null == username)
            {
                username = "";
            }
            multicityUsernameTextbox.Text = username;
            if (null == password)
            {
                password = "";
            }
            multicityPasswordbox.Password = password;
        }
Exemplo n.º 4
0
        private void syncDriveNowCredentialsWithApp()
        {
            var username = (string)App.GetAppSetting("driveNow.username");
            var password = (string)App.GetAppSetting("driveNow.password");

            if (null == username)
            {
                username = "";
            }
            driveNowUsernameTextbox.Text = username;
            if (null == password)
            {
                password = "";
            }
            driveNowPasswordbox.Password = password;
        }
Exemplo n.º 5
0
 private bool CheckMulticityCredentials()
 {
     try {
         username = (string)App.GetAppSetting("multicity.username");
         password = (string)App.GetAppSetting("multicity.password");
         if ((null != username) && (null != password)) {
             return true;
         }
         MessageBoxResult result = MessageBox.Show(Strings.MulticityCredentialsMissingDialogMessage, Strings.MulticityCredentialsMissingDialogHeader, MessageBoxButton.OKCancel);
         if (MessageBoxResult.OK == result) {
             gotoMulticityCredentials();
         } else {
             Deactivate();
         }
     } catch {}
     return false;
 }
Exemplo n.º 6
0
        private void getC2GAccessToken(string[] tokenData)
        {
            var car2GoGetTokenEndpoint = "https://www.car2go.com/api/accesstoken";

            var oauthRequest = new OAuthRequest()
            {
                CallbackUrl     = "oob",
                ConsumerKey     = FreeCarsCredentials.Car2Go.ConsumerKey,
                ConsumerSecret  = FreeCarsCredentials.Car2Go.SharedSecred,
                Method          = "GET",
                RequestUrl      = car2GoGetTokenEndpoint,
                SignatureMethod = OAuthSignatureMethod.HmacSha1,
                Token           = tokenData[0],
                TokenSecret     = (string)App.GetAppSetting("car2go.oauth_token_secret"),
                //TokenSecret = tokenData[1],
                Type     = OAuthRequestType.AccessToken,
                Verifier = tokenData[1],
                Version  = "1.0",
            };
            var requestParameters = oauthRequest.GetAuthorizationQuery();
            var requestUrl        = new Uri(car2GoGetTokenEndpoint + "?" + requestParameters, UriKind.Absolute);

            var webClient = new WebClient();

            webClient.DownloadStringCompleted += (client, arguments) => {
                if (null != arguments.Error)
                {
                    MessageBox.Show(Strings.SettingsPageCar2GoAuthFailed);
                    return;
                }
                var results = arguments.Result.Split(new char[] { '&' }, StringSplitOptions.None);
                App.SetAppSetting("car2go.oauth_token", results[0].Split(new char[] { '=' })[1]);
                App.SetAppSetting("car2go.oauth_token_secret", results[1].Split(new char[] { '=' })[1]);
                App.SetAppSetting("car2go.oauth_token_timestamp", DateTime.UtcNow);
                CheckCar2GoApiAccess();
            };
            webClient.DownloadStringAsync(requestUrl);
        }
Exemplo n.º 7
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;
        }
Exemplo n.º 8
0
        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");
        }
Exemplo n.º 9
0
        private void CancelCar2GoBooking()
        {
            var item = (Car2GoMarker)Item;
            var car2GoRequestEndpoint = "https://www.car2go.com/api/v2.1/booking/" + item.BookingId;

            var oauthToken = (string)App.GetAppSetting("car2go.oauth_token");
            var oauthTokenSecret = (string)App.GetAppSetting("car2go.oauth_token_secret");
            if (null == oauthToken || null == oauthTokenSecret) {
                HandleNotConnectedToCar2Go();
            }
            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("account", accountId);
            var signatureBase = OAuthTools.ConcatenateRequestElements("DELETE", 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.Delete(car2GoRequestEndpoint, para, delegate(Stream args) {
                if (null == args) return;
                try {
                    var serializer = new DataContractJsonSerializer(typeof(Car2GoCancelBookingResult));
                    var resultAccount = (Car2GoCancelBookingResult)serializer.ReadObject(args);
                    Dispatcher.BeginInvoke(() => {
                        var mbResult = MessageBoxResult.None;
                        try {
                            if (0 == resultAccount.ReturnValue.Code) {
                                var message = (resultAccount.CancelBooking[0].cancelFeeExists)
                                                  ? String.Format(
                                                      Strings.BookingPageC2GCancelationSuccessful,
                                                      resultAccount.CancelBooking[0].cancelFee,
                                                      resultAccount.CancelBooking[0].cancelFeeCurrency)
                                                  : String.Format(
                                                      Strings.BookingPageC2GCancelationSuccessful,
                                                      0, "");
                                mbResult = MessageBox.Show(
                                    message,
                                    resultAccount.ReturnValue.Description, MessageBoxButton.OK);
                            } else {
                                mbResult = MessageBox.Show(resultAccount.ReturnValue.Description);
                            }
                        } catch (Exception) {
                            Deactivate();
                        }
                        if (mbResult != MessageBoxResult.OK) {
                            return;
                        }
                        InvokeActionCompleted();
                    });
                } catch (SerializationException) {
                    InvokeActionCompleted();
                }
            });
        }