using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Media.Imaging; using Tango.SharedUI.Helpers; namespace Tango.Explorer { public class ExplorerFileDefinition { private static List _definitions; public String Extension { get; set; } public String Description { get; set; } public BitmapSource Icon { get; set; } public static ExplorerFileDefinition Folder => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/folder.png") }; public static ExplorerFileDefinition File => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/file.png"), Description = "Unknown Type" }; public static ExplorerFileDefinition Job => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/job.png"), Description = "Tango Job Definition", Extension = ".job", }; public static ExplorerFileDefinition Pulse => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/pulse.png"), Description = "Twine Embroidery Design", Extension = ".twn", }; public static ExplorerFileDefinition Update => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/update.png"), Description = "Tango Software Update Package", Extension = ".tup", }; public static ExplorerFileDefinition ColorProfile => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/color.png"), Description = "Tango Color Profile", Extension = ".tcc", }; public static ExplorerFileDefinition Backup => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/backup.png"), Description = "Tango Backup", Extension = ".tb", }; public static ExplorerFileDefinition Firmware => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/firmware.png"), Description = "Tango Firmware Upgrade", Extension = ".tfp", }; public static ExplorerFileDefinition CsvFile => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/csv.png"), Description = "CSV File", Extension = ".csv", }; public static ExplorerFileDefinition PDFFile => new ExplorerFileDefinition() { Icon = ResourceHelper.GetImageFromResources("/Images/file.png"), Description = "PDF File", Extension = ".pdf", }; static ExplorerFileDefinition() { _definitions = typeof(ExplorerFileDefinition).GetProperties(BindingFlags.Public | BindingFlags.Static).Where(x => x.PropertyType == typeof(ExplorerFileDefinition)).ToList().Select(x => x.GetValue(null, null) as ExplorerFileDefinition).ToList(); } public static ExplorerFileDefinition GetByExtension(String ext) { return _definitions.Where(x => x.Extension != null).SingleOrDefault(x => x.Extension.ToLower() == ext.ToLower()); //switch (ext.ToLower()) //{ // case ".job": // return Job; // case ".twn": // return Pulse; // case ".tup": // return Update; // case ".ccp": // return ColorProfile; // default: // return File; //} } public static List GetSupportedExtensions() { return _definitions.Where(x => x.Extension != null).Select(x => x.Extension).ToList(); } } }