From 674ca83ba9243a9e95a7568c797668dab6aee26a Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:35:25 -0300 Subject: feat: upload files --- Gestor.Application/Converters/MimeIconConverter.cs | 267 +++++++++++++++++++++ 1 file changed, 267 insertions(+) create mode 100644 Gestor.Application/Converters/MimeIconConverter.cs (limited to 'Gestor.Application/Converters/MimeIconConverter.cs') 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 -- cgit v1.2.3