summaryrefslogtreecommitdiff
path: root/Gestor.Common/Gestor.Common.Converters/ObjectToStringConverter.cs
diff options
context:
space:
mode:
authorLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 17:17:46 +0000
committerLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 17:17:46 +0000
commit0440c722a221b8068bbf388c1c0c51f0faff0451 (patch)
tree169cbf90c50ff7961db82ecb606c50c2a45a1688 /Gestor.Common/Gestor.Common.Converters/ObjectToStringConverter.cs
parent225aa1499e37faf9d38257caabbadc68d78b427e (diff)
downloadgestor-master.tar.gz
gestor-master.zip
some dllsHEADmaster
Diffstat (limited to 'Gestor.Common/Gestor.Common.Converters/ObjectToStringConverter.cs')
-rw-r--r--Gestor.Common/Gestor.Common.Converters/ObjectToStringConverter.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/Gestor.Common/Gestor.Common.Converters/ObjectToStringConverter.cs b/Gestor.Common/Gestor.Common.Converters/ObjectToStringConverter.cs
new file mode 100644
index 0000000..2748ce0
--- /dev/null
+++ b/Gestor.Common/Gestor.Common.Converters/ObjectToStringConverter.cs
@@ -0,0 +1,41 @@
+using System;
+using System.ComponentModel;
+using System.Globalization;
+using System.Linq;
+using System.Reflection;
+using System.Windows.Data;
+
+namespace Gestor.Common.Converters;
+
+public class ObjectToStringConverter : IValueConverter
+{
+ public static readonly ObjectToStringConverter Instance = new ObjectToStringConverter();
+
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (value is Enum @enum)
+ {
+ MemberInfo[] member = @enum.GetType().GetMember(@enum.ToString());
+ if (member.Length == 0)
+ {
+ return @enum.ToString();
+ }
+ object[] customAttributes = member[0].GetCustomAttributes(typeof(DescriptionAttribute), inherit: false);
+ if (!customAttributes.Any())
+ {
+ return @enum.ToString().Trim();
+ }
+ return ((DescriptionAttribute)customAttributes.ElementAt(0)).Description.Trim();
+ }
+ if (value is DateTime dateTime)
+ {
+ return dateTime.ToShortDateString();
+ }
+ return value?.ToString();
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ return null;
+ }
+}