OfflineServer.MainWindow.Button_ClickHandler C# (CSharp) Method

Button_ClickHandler() private method

private Button_ClickHandler ( object sender, RoutedEventArgs e ) : void
sender object
e System.Windows.RoutedEventArgs
return void
        private void Button_ClickHandler(object sender, RoutedEventArgs e)
        {
            switch ((sender as Button).Name)
            {
                case "buttonOpenBasicPersonaInfo":
                    flyoutBasicPersonaInfo.IsOpen = !flyoutBasicPersonaInfo.IsOpen;
                    break;
                case "buttonOpenDetailedPersonaInfo":
                    flyoutDetailedPersonaInfo.IsOpen = !flyoutDetailedPersonaInfo.IsOpen;
                    break;
                case "buttonOpenPersonaList":
                    flyoutPersonaList.IsOpen = !flyoutPersonaList.IsOpen;
                    break;
                case "buttonUpdatePersonaInfoTile":
                    RandomPersonaInfo.Stop();
                    tRandomPersonaInfo_Tick(null, null);
                    RandomPersonaInfo.Start();
                    break;
                case "buttonPaints":
                case "buttonPerformanceParts":
                case "buttonSkillModParts":
                case "buttonVinyls":
                case "buttonVisualParts":
                    tbGaragePartInfo.SetBinding(MVVMSyntax._TextProperty,
                        new Binding()
                        {
                            Converter = new STEditConverter(this),
                            Path = new PropertyPath("ActivePersona.SelectedCar." + ((sender as Button).Name).Remove(0, 6)),
                            UpdateSourceTrigger = UpdateSourceTrigger.LostFocus,
                            Mode = BindingMode.TwoWay,
                            Source = Access.CurrentSession
                        });
                    flyoutGaragePartInfo.IsOpen = !flyoutGaragePartInfo.IsOpen;
                    break;
                case "buttonAddCar":
                    this.ShowMetroDialogAsync(carDialog, new MetroDialogSettings() { AnimateHide = true, AnimateShow = true });
                    break;
                case "buttonRemoveCar":
                    if (listCar.Items.Count > 1)
                    {
                        Int32 selectedItemIndex = listCar.SelectedIndex;
                        if (selectedItemIndex != -1)
                        {
                            PersonaManagement.removeCar((Car)listCar.Items[selectedItemIndex]);
                            listCar.SelectedIndex = Math.Min(selectedItemIndex, listCar.Items.Count - 1);
                        }
                        else
                        {
                            new ToolTip() { Content = Access.dataAccess.appSettings.uiSettings.language.RemoveCarNoSelectedCarError, StaysOpen = false, IsOpen = true };
                        }
                    }
                    else
                    {
                        new ToolTip() { Content = Access.dataAccess.appSettings.uiSettings.language.RemoveCarLastCarError, StaysOpen = false, IsOpen = true };
                    }
                    break;
                case "buttonSettings":
                    flyoutSettings.IsOpen = !flyoutSettings.IsOpen;
                    break;
                case "buttonAddonManager":
                    if (!AddonManagerTalk.isAddonManagerRunning && AddonManagerTalk.isWaitingForClient)
                    {
                        String addonManagerLocation = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "AddonManager.exe");
                        if (!File.Exists(addonManagerLocation))
                        {
                            this.ShowMessageAsync(Access.dataAccess.appSettings.uiSettings.language.InformUserInformation,
                                Access.dataAccess.appSettings.uiSettings.language.AddonManagerNotFoundError);
                            return;
                        }

                        Access.addonManagerTalk.initialize();
                        String args = String.Format("/catalogs '{0}' /baskets '{1}' /accents '{3}' /themes '{4}' /languages '{5}' /memorypatches '{6}' /logs '{7}' /offlineServer {8}",
                            Path.GetFullPath(DataEx.dir_HttpServerCatalogs),
                            Path.GetFullPath(DataEx.dir_HttpServerBaskets),
                            Path.GetFullPath(DataEx.dir_Accents),
                            Path.GetFullPath(DataEx.dir_Themes),
                            Path.GetFullPath(DataEx.dir_Languages),
                            Path.GetFullPath(DataEx.dir_MemoryPatches),
                            Path.GetFullPath(DataEx.dir_Logs),
                            Access.addonManagerTalk.port);
                        Process.Start(addonManagerLocation, args);
                    }
                    break;
            }
        }
        public class STEditConverter : IValueConverter