summaryrefslogtreecommitdiff
path: root/Gestor.Application/Converters/EnviadoColorConverter.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Gestor.Application/Converters/EnviadoColorConverter.cs')
-rw-r--r--Gestor.Application/Converters/EnviadoColorConverter.cs69
1 files changed, 69 insertions, 0 deletions
diff --git a/Gestor.Application/Converters/EnviadoColorConverter.cs b/Gestor.Application/Converters/EnviadoColorConverter.cs
new file mode 100644
index 0000000..7e56ca0
--- /dev/null
+++ b/Gestor.Application/Converters/EnviadoColorConverter.cs
@@ -0,0 +1,69 @@
+using Gestor.Model.Common;
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Windows;
+using System.Windows.Data;
+using System.Windows.Markup;
+using System.Windows.Media;
+
+namespace Gestor.Application.Converters
+{
+ public class EnviadoColorConverter : MarkupExtension, IValueConverter
+ {
+ public EnviadoColorConverter()
+ {
+ }
+
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (value == null || !(value is List<StatusDocumentoAssinado>))
+ {
+ return new SolidColorBrush(Colors.IndianRed);
+ }
+ List<StatusDocumentoAssinado> statusDocumentoAssinados = (List<StatusDocumentoAssinado>)value;
+ int num = statusDocumentoAssinados.Count<StatusDocumentoAssinado>((StatusDocumentoAssinado x) => {
+ if (x.get_Status() == 1)
+ {
+ return true;
+ }
+ return x.get_Status() == 4;
+ });
+ int num1 = statusDocumentoAssinados.Count<StatusDocumentoAssinado>((StatusDocumentoAssinado x) => x.get_Status() == 0);
+ int num2 = statusDocumentoAssinados.Count<StatusDocumentoAssinado>((StatusDocumentoAssinado x) => x.get_Status() == 2);
+ if (statusDocumentoAssinados.All<StatusDocumentoAssinado>((StatusDocumentoAssinado x) => x.get_Status() == 3))
+ {
+ return new SolidColorBrush(Colors.IndianRed);
+ }
+ if (num2 > 0)
+ {
+ return new SolidColorBrush(Colors.Red);
+ }
+ if (num > 0 && num1 == 0 && num2 == 0)
+ {
+ return new SolidColorBrush(Colors.ForestGreen);
+ }
+ if (num == 0 && num1 > 0 && num2 == 0)
+ {
+ return new SolidColorBrush((Color)System.Windows.Application.Current.Resources["AggerBlue"]);
+ }
+ if (num <= 0 || num1 <= 0 || num2 != 0)
+ {
+ return new SolidColorBrush(Colors.IndianRed);
+ }
+ return new SolidColorBrush((Color)System.Windows.Application.Current.Resources["AggerYellow100"]);
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ return null;
+ }
+
+ public override object ProvideValue(IServiceProvider serviceProvider)
+ {
+ return this;
+ }
+ }
+} \ No newline at end of file