summaryrefslogtreecommitdiff
path: root/Gestor.Application/Converters/MimeIconConverter.cs
diff options
context:
space:
mode:
authorLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 13:35:25 +0000
committerLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 13:35:25 +0000
commit674ca83ba9243a9e95a7568c797668dab6aee26a (patch)
tree4a905b3fb1d827665a34d63f67bc5559f8e7235b /Gestor.Application/Converters/MimeIconConverter.cs
downloadgestor-674ca83ba9243a9e95a7568c797668dab6aee26a.tar.gz
gestor-674ca83ba9243a9e95a7568c797668dab6aee26a.zip
feat: upload files
Diffstat (limited to 'Gestor.Application/Converters/MimeIconConverter.cs')
-rw-r--r--Gestor.Application/Converters/MimeIconConverter.cs267
1 files changed, 267 insertions, 0 deletions
diff --git a/Gestor.Application/Converters/MimeIconConverter.cs b/Gestor.Application/Converters/MimeIconConverter.cs
new file mode 100644
index 0000000..a3f0efd
--- /dev/null
+++ b/Gestor.Application/Converters/MimeIconConverter.cs
@@ -0,0 +1,267 @@
+using ControlzEx;
+using MaterialDesignThemes.Wpf;
+using System;
+using System.Globalization;
+using System.Windows.Data;
+using System.Windows.Markup;
+
+namespace Gestor.Application.Converters
+{
+ public class MimeIconConverter : MarkupExtension, IValueConverter
+ {
+ public MimeIconConverter()
+ {
+ }
+
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ char chr;
+ PackIcon packIcon;
+ PackIcon packIcon1;
+ PackIcon packIcon2;
+ PackIcon packIcon3;
+ PackIcon packIcon4;
+ if (value == null)
+ {
+ PackIcon packIcon5 = new PackIcon();
+ packIcon5.set_Kind(1529);
+ return packIcon5;
+ }
+ string lower = value.ToString().ToLower();
+ if (lower != null)
+ {
+ int length = lower.Length;
+ if (length == 4)
+ {
+ chr = lower[2];
+ if (chr == 'a')
+ {
+ if (lower == ".rar")
+ {
+ packIcon1 = new PackIcon();
+ packIcon1.set_Kind(301);
+ return packIcon1;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ else
+ {
+ switch (chr)
+ {
+ case 'd':
+ {
+ if (lower == ".pdf")
+ {
+ PackIcon packIcon6 = new PackIcon();
+ packIcon6.set_Kind(1580);
+ return packIcon6;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'j':
+ case 'k':
+ {
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'i':
+ {
+ if (lower == ".zip")
+ {
+ break;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'l':
+ {
+ if (lower == ".xls")
+ {
+ packIcon2 = new PackIcon();
+ packIcon2.set_Kind(1563);
+ return packIcon2;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'm':
+ {
+ if (lower == ".bmp")
+ {
+ packIcon3 = new PackIcon();
+ packIcon3.set_Kind(2102);
+ return packIcon3;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'n':
+ {
+ if (lower == ".png")
+ {
+ packIcon3 = new PackIcon();
+ packIcon3.set_Kind(2102);
+ return packIcon3;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'o':
+ {
+ if (lower == ".doc")
+ {
+ packIcon4 = new PackIcon();
+ packIcon4.set_Kind(1605);
+ return packIcon4;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'p':
+ {
+ if (lower == ".jpg")
+ {
+ packIcon3 = new PackIcon();
+ packIcon3.set_Kind(2102);
+ return packIcon3;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ default:
+ {
+ if (chr == 'x')
+ {
+ if (lower == ".txt")
+ {
+ PackIcon packIcon7 = new PackIcon();
+ packIcon7.set_Kind(3399);
+ return packIcon7;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ else
+ {
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ }
+ }
+ }
+ packIcon1 = new PackIcon();
+ packIcon1.set_Kind(301);
+ return packIcon1;
+ }
+ else if (length == 5)
+ {
+ chr = lower[2];
+ switch (chr)
+ {
+ case 'l':
+ {
+ if (lower == ".xlsx")
+ {
+ packIcon2 = new PackIcon();
+ packIcon2.set_Kind(1563);
+ return packIcon2;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'm':
+ case 'n':
+ {
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'o':
+ {
+ if (lower == ".docx")
+ {
+ packIcon4 = new PackIcon();
+ packIcon4.set_Kind(1605);
+ return packIcon4;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ case 'p':
+ {
+ if (lower == ".jpge")
+ {
+ break;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ default:
+ {
+ if (chr == 's')
+ {
+ if (lower != ".json")
+ {
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ PackIcon packIcon8 = new PackIcon();
+ packIcon8.set_Kind(2156);
+ return packIcon8;
+ }
+ else
+ {
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ }
+ }
+ }
+ else
+ {
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+ packIcon3 = new PackIcon();
+ packIcon3.set_Kind(2102);
+ return packIcon3;
+ }
+ packIcon = new PackIcon();
+ packIcon.set_Kind(1529);
+ return packIcon;
+ }
+
+ 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