Files
DP44/DataPRO/Modules/Database/DatabaseServices/.svn/pristine/47/470d2ccf8039a21beb092725ca9eb773aa5643a6.svn-base

46 lines
1.7 KiB
Plaintext
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
using DTS.Common.Enums.Database;
namespace DatabaseServices.Converters
{
public class DbTypeToVisibilityConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var dbType = (DbType)((int)values[0]);
var view = (DatabaseStatusBarView)values[1];
if (null == view.DataContext)
{
return Visibility.Collapsed;
}
var vm = (DatabaseStatusBarViewModel)view.DataContext;
switch (vm.DatabaseType)
{
case DbType.RemoteOnly:
return dbType == DbType.RemoteOnly ? Visibility.Visible : Visibility.Collapsed;
case DbType.LocalOnly:
return dbType == DbType.LocalOnly ? Visibility.Visible : Visibility.Collapsed;
case DbType.RemoteLocalHybrid:
{
if (vm.RemoteConnected)
{
return dbType == DbType.RemoteOnly ? Visibility.Visible : Visibility.Collapsed;
}
return dbType == DbType.RemoteLocalHybrid ? Visibility.Visible : Visibility.Collapsed;
}
default:
return Visibility.Collapsed;
}
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}