diff options
Diffstat (limited to 'Gestor.Application/Converters/ColorStatusConverter.cs')
| -rw-r--r-- | Gestor.Application/Converters/ColorStatusConverter.cs | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/Gestor.Application/Converters/ColorStatusConverter.cs b/Gestor.Application/Converters/ColorStatusConverter.cs new file mode 100644 index 0000000..b7cc4f9 --- /dev/null +++ b/Gestor.Application/Converters/ColorStatusConverter.cs @@ -0,0 +1,75 @@ +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;
+ }
+ }
+}
\ No newline at end of file |