summaryrefslogtreecommitdiff
path: root/Codemerx/Gestor.Application/Converters/ColorStatusConverter.cs
blob: b7cc4f9ecf33bc9a94b41d81dc29bd77adc46814 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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;
		}
	}
}