BeFriend.ViewModel.BaseViewModel.InAppMessages C# (CSharp) Метод

InAppMessages() приватный Метод

private InAppMessages ( ) : void
Результат void
        private async void InAppMessages()
        {
            var localSettings = ApplicationData.Current.LocalSettings;
            var package = Package.Current.Id.Version;

            

            
            if (localSettings.Values.ContainsKey("AppUpdated") && localSettings.Values["AppUpdated"].ToString()!=(package.Build + package.Major.ToString()
                                                                                                                  + package.Minor))
            {
                var appUpdationString = ResourceLoader.GetForCurrentView().GetString("InAppMessage/AppUpdation");

                var messageDialog = new MessageDialog(appUpdationString);

                await messageDialog.ShowAsync();
                ApplicationData.Current.LocalSettings.Values["AddUpdated"]= (package.Build + package.Major.ToString()
                    + package.Minor);
            }
            if (localSettings.Values.ContainsKey("InAppMessageCount"))
            {
                switch (Convert.ToInt64(localSettings.Values["InAppMessageCount"]))
                {
                    case 1:

                        var bugStringContent = ResourceLoader.GetForCurrentView().GetString("InAppMessage/BugSuggestionsContent");
                        var bugStringTitle = ResourceLoader.GetForCurrentView().GetString("InAppMessage/BugSuggestionsTitle");
                        var dialog =
                            new MessageDialog(bugStringContent,
                                bugStringTitle) {Options = MessageDialogOptions.None};
                        dialog.Commands.Add(new UICommand("Gitter Chat", CommandInvokedHandler));
                        dialog.Commands.Add(new UICommand("Github Issues", CommandInvokedHandler));

                        dialog.DefaultCommandIndex = 0;
                        dialog.CancelCommandIndex = 1;

                        await dialog.ShowAsync();

                        break;

                    case 4:

                        var translateContent = ResourceLoader.GetForCurrentView().GetString("InAppMessage/TranslateContent");
                        var translateTitle = ResourceLoader.GetForCurrentView().GetString("InAppMessage/TranslateTitle");
                        var dialog1 =
                            new MessageDialog(translateContent,
                                translateTitle) {Options = MessageDialogOptions.None};
                        dialog1.Commands.Add(new UICommand("Translate Now!", CommandInvokedHandler));
                        dialog1.Commands.Add(new UICommand("Translate Later", CommandInvokedHandler));

                        dialog1.DefaultCommandIndex = 0;
                        dialog1.CancelCommandIndex = 1;

                        await dialog1.ShowAsync();

                        break;

                    case 9:

                        var developContent = ResourceLoader.GetForCurrentView().GetString("InAppMessage/DevelopContent");
                        var developTitle = ResourceLoader.GetForCurrentView().GetString("InAppMessage/DevelopTitle");
                        var dialog2 =
                            new MessageDialog(developContent,developTitle) {Options = MessageDialogOptions.None};
                        dialog2.Commands.Add(new UICommand("Join the Development!", CommandInvokedHandler));
                        dialog2.Commands.Add(new UICommand("Not interested", CommandInvokedHandler));

                        dialog2.DefaultCommandIndex = 0;
                        dialog2.CancelCommandIndex = 1;

                        await dialog2.ShowAsync();

                        break;
                }

                var count = Convert.ToInt64(localSettings.Values["InAppMessageCount"]);
                count++;
                localSettings.Values["InAppMessageCount"] = count.ToString();
            }
            else
            {
                var privacyContent = ResourceLoader.GetForCurrentView().GetString("InAppMessage/PrivacyContent");
                var privacyTitle = ResourceLoader.GetForCurrentView().GetString("InAppMessage/PrivacyTitle");
                var dialog = new MessageDialog(privacyContent,privacyTitle) {Options = MessageDialogOptions.None};
                dialog.Commands.Add(new UICommand("I Understand!", CommandInvokedHandler));
                dialog.Commands.Add(new UICommand("I didn't Understand", CommandInvokedHandler));

                dialog.DefaultCommandIndex = 0;
                dialog.CancelCommandIndex = 1;
                await dialog.ShowAsync();
                localSettings.Values.Add("InAppMessageCount", "1");
            }
        }