BeFriend.ViewModel.CallandSettingsPageViewModel.ToastMakerToggledButton C# (CSharp) Метод

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

private ToastMakerToggledButton ( ) : void
Результат void
        private async void ToastMakerToggledButton()
        {

            if (IsAppFirstTimeOn1)
            {
                if (_notificationStatus == "On")
                {
                    IsAppFirstTimeOn1 = false;
                    return;
                }
            }

            IsAppFirstTimeOn1 = false;
            var localData = ApplicationData.Current.LocalSettings;
            var roamData = ApplicationData.Current.RoamingSettings;

            if (localData.Values.ContainsKey("ToastNotification"))
                _notificationStatus = localData.Values["ToastNotification"] as string;

            const string taskName = "ActionCenterToastMaker";

            var backgroundAccessStatus = await BackgroundExecutionManager.RequestAccessAsync();

            if (backgroundAccessStatus != BackgroundAccessStatus.AllowedMayUseActiveRealTimeConnectivity &&
                backgroundAccessStatus != BackgroundAccessStatus.AllowedWithAlwaysOnRealTimeConnectivity) return;
            foreach (var task in BackgroundTaskRegistration.AllTasks)
            {
                ToastToggleSwitchIsOn = task.Value.Name == taskName;
                if (ToastToggleSwitchIsOn)
                    break;
            }
            if (!ToastToggleSwitchIsOn)
            {
                if (_notificationStatus == "Off")
                {
                    if (!localData.Values.ContainsKey("ToastNotification"))
                        
                    {
                        localData.Values.Add("ToastNotification", "On");
                    }
                    else
                    {
                        localData.Values.Remove("ToastNotification");
                        localData.Values.Add("ToastNotification", "On");
                        
                    }
                    ToastToggleSwitchIsOn = true;
                    BackgroundProcessRegisterer();
                }
                else
                {
                    if (!localData.Values.ContainsKey("ToastNotification"))
                    {
                        localData.Values.Add("ToastNotification", "Off");
                    }
                    else
                    {
                        localData.Values.Remove("ToastNotification");
                        localData.Values.Add("ToastNotification", "Off");
                    }
                    ToastToggleSwitchIsOn = false;
                }
            }

            else
            {
                if (_notificationStatus == "On")
                {
                    if (!localData.Values.ContainsKey("ToastNotification"))
                    {
                        localData.Values.Add("ToastNotification", "Off");
                    }
                    else
                    {
                        localData.Values.Remove("ToastNotification");
                        localData.Values.Add("ToastNotification", "Off");
                    }
                    ToastToggleSwitchIsOn = false;
                    BackgroundProcessRemover();
                }
                else
                {
                    if (!localData.Values.ContainsKey("ToastNotification"))
                    {
                        localData.Values.Add("ToastNotification", "On");
                    }
                    else
                    {
                        localData.Values.Remove("ToastNotification");
                        localData.Values.Add("ToastNotification", "On");
                    }
                    ToastToggleSwitchIsOn = true;
                }
                
            }
           

            RaisePropertyChanged(() => ToastToggleSwitchIsOn);
            MessengerInstance.Send(new NotificationMessage("ProgressBarDisable"));
        }