using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media;
namespace DebtMgr.Converters
{
////////////////////////////////////////////////////////////////////////////////////////////////////
/// An amount to color converter.
///
/// Andre Beging, 10.09.2017.
////////////////////////////////////////////////////////////////////////////////////////////////////
public class AmountToColorConverter : IValueConverter
{
////////////////////////////////////////////////////////////////////////////////////////////////////
/// Converts.
///
/// Andre Beging, 10.09.2017.
///
/// The value.
/// Type of the target.
/// The parameter.
/// The culture.
///
/// An object.
////////////////////////////////////////////////////////////////////////////////////////////////////
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var defaultReturnValue = new SolidColorBrush(Colors.Black);
if (value == null) return defaultReturnValue;
double doubleValue = 0.0;
if (value is double)
{
doubleValue = (double)value;
}
else if(value is string)
{
if (string.IsNullOrWhiteSpace(value.ToString())) return defaultReturnValue;
doubleValue = Double.Parse(value.ToString());
}
if (doubleValue < 0.001 && doubleValue > -0.001)
return new SolidColorBrush(Colors.Green);
if(doubleValue > 0)
return new SolidColorBrush(Colors.Green);
if (doubleValue < 0)
return new SolidColorBrush(Colors.Red);
return defaultReturnValue;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
/// Convert back.
///
/// Andre Beging, 10.09.2017.
///
/// The value.
/// Type of the target.
/// The parameter.
/// The culture.
///
/// The back converted.
////////////////////////////////////////////////////////////////////////////////////////////////////
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}