void AddClick(object sender, RoutedEventArgs e)
        {
            var result = EditDatabaseConnectDialog.Run(Owner, new DBConnectInfo());

            if (result != null)
            {
                DBConnectInfos.Add(result);
            }
        }
        void EditClick(object sender, RoutedEventArgs e)
        {
            if (DBConnectInfo == null)
            {
                return;
            }

            var result = EditDatabaseConnectDialog.Run(Owner, DBConnectInfo);

            if (result != null)
            {
                DBConnectInfos[DBConnectInfos.IndexOf(DBConnectInfo)] = result;
            }
        }
        void CopyClick(object sender, RoutedEventArgs e)
        {
            if (DBConnectInfo == null)
            {
                return;
            }

            var result = EditDatabaseConnectDialog.Run(Owner, DBConnectInfo);

            if (result != null)
            {
                DBConnectInfos.Add(result);
            }
        }
        void OkClick(object sender, RoutedEventArgs e)
        {
            if (DBConnectInfo == null)
            {
                return;
            }

            XMLConverter.ToXML(DBConnectInfos.ToList()).Save(dbConfigFile);

            result = new Result {
                DBConnectInfo = DBConnectInfo
            };
            DialogResult = true;
        }
        void MoveDownClick(object sender, RoutedEventArgs e)
        {
            if (DBConnectInfo == null)
            {
                return;
            }

            var oldIndex = DBConnectInfos.IndexOf(DBConnectInfo);
            var newIndex = Math.Min(DBConnectInfos.Count - 1, oldIndex + 1);

            if (oldIndex != newIndex)
            {
                DBConnectInfos.Move(oldIndex, newIndex);
            }
        }
        void MoveUpClick(object sender, RoutedEventArgs e)
        {
            if (DBConnectInfo == null)
            {
                return;
            }

            var oldIndex = DBConnectInfos.IndexOf(DBConnectInfo);
            var newIndex = Math.Max(0, oldIndex - 1);

            if (oldIndex != newIndex)
            {
                DBConnectInfos.Move(oldIndex, newIndex);
            }
        }
        void DeleteClick(object sender, RoutedEventArgs e)
        {
            if (DBConnectInfo == null)
            {
                return;
            }

            if (new Message(this)
            {
                Title = "Confirm",
                Text = "Delete this entry?",
                Options = MessageOptions.YesNoCancel,
                DefaultAccept = MessageOptions.Yes,
                DefaultCancel = MessageOptions.Cancel,
            }.Show() != MessageOptions.Yes)
            {
                return;
            }
            DBConnectInfos.Remove(DBConnectInfo);
        }