using Gestor.Model.Common; using Gestor.Model.Validation; using System; using System.Globalization; using System.Windows.Data; using System.Windows.Media; namespace Gestor.Application.Converters { public class ColorStatusConverter : IMultiValueConverter { public ColorStatusConverter() { } public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { if (values[2] != null && values[2] is bool && (bool)values[2]) { return new SolidColorBrush(Colors.Red); } object obj = values[0]; if (obj == null) { return new SolidColorBrush(Colors.White); } if (!(obj is TipoSeguro)) { return new SolidColorBrush(Colors.White); } switch ((TipoSeguro)values[0]) { case 3: { return new SolidColorBrush(Colors.Red); } case 5: { return new SolidColorBrush(Colors.DarkBlue); } case 6: { return new SolidColorBrush(Colors.Gray); } case 7: { return new SolidColorBrush(Colors.DimGray); } default: { if (values[1] == null) { return new SolidColorBrush(Colors.Green); } else { break; } } } DateTime? nullable = (DateTime?)values[1]; DateTime dateTime = Funcoes.GetNetworkTime().Date.AddDays(-6); if ((nullable.HasValue ? nullable.GetValueOrDefault() < dateTime : true)) { return new SolidColorBrush(Colors.Goldenrod); } return new SolidColorBrush(Colors.Green); } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { return null; } } }