using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System; using System.Linq; using System.Reflection; using System.Collections.Generic; using Microsoft.AspNetCore.Mvc.Rendering; namespace AMESCoreStudio.WebApi.Enum { /// <summary> /// /// </summary> public class EnumPCS { /// <summary> /// 列印方式 /// </summary> public enum EnumPrintMode { /// <summary> /// ON Line列印 /// </summary> [Display(Name = "ON Line列印")] ON = 1, /// <summary> /// OFF Line列印 /// </summary> [Display(Name = "OFF Line列印")] OFF = 2 } /// <summary> /// 認證Logo /// </summary> public enum EnumApproveLogo { /// <summary> /// CE /// </summary> [Display(Name = "CE")] CE, /// <summary> /// KCC /// </summary> [Display(Name = "KCC")] KCC, /// <summary> /// FCC /// </summary> [Display(Name = "FCC")] FCC, /// <summary> /// CE/FCC /// </summary> [Display(Name = "CE/FCC")] CE_FCC, /// <summary> /// ROHS /// </summary> [Display(Name = "ROHS")] ROHS, /// <summary> /// UL /// </summary> [Display(Name = "UL")] UL, /// <summary> /// WEEE /// </summary> [Display(Name = "WEEE")] WEEE, /// <summary> /// MADE IN /// </summary> [Display(Name = "MADE IN")] MADE_IN, /// <summary> /// 皆無 /// </summary> [Display(Name = "皆無")] N } /// <summary> /// 公司Logo /// </summary> public enum EnumCompanyLogo { /// <summary> /// A VALUE /// </summary> [Display(Name = "A VALUE")] A, /// <summary> /// 無 /// </summary> [Display(Name = "無")] N } /// <summary> /// WipAttr /// </summary> public enum EnumWipAttr { /// <summary> /// 正常工單 /// </summary> [Display(Name = "正常工單")] A, /// <summary> /// 非標96工單 /// </summary> [Display(Name = "非標96工單-非標單據:人員輸入")] B, } /// <summary> /// 工單資訊 系統工程資訊 Power mode /// </summary> public enum EnumWipSystemPMType { /// <summary> /// H/W ATX /// </summary> [Display(Name = "H/W ATX")] A = 1, /// <summary> /// H/W ATX,S/W AT /// </summary> [Display(Name = "H/W ATX,S/W AT")] B = 2, /// <summary> /// H/W AT /// </summary> [Display(Name = "H/W AT")] C = 3, /// <summary> /// Other /// </summary> [Display(Name = "Other")] D = 4, } /// <summary> /// 工單資訊 系統工程資訊 Type /// </summary> public enum EnumWipSystemType { /// <summary> /// N/A /// </summary> [Display(Name = "N/A")] A = 1, /// <summary> /// Check /// </summary> [Display(Name = "Check")] B = 2, /// <summary> /// Program /// </summary> [Display(Name = "Program")] C = 3, /// <summary> /// 備註說明 /// </summary> [Display(Name = "備註說明")] D = 4, } /// <summary> /// 工單資訊 系統工程資訊 DMI燒入 Type /// </summary> public enum EnumWipSystemDMIBIType { /// <summary> /// YES /// </summary> [Display(Name = "YES")] Y = 1, /// <summary> /// N/A /// </summary> [Display(Name = "N/A")] N = 2, } /// <summary> /// 燒機時間 /// </summary> public enum EnumWipBITemperatuer { /// <summary> /// NA /// </summary> [Display(Name = "NA")] N = 1, /// <summary> /// 室溫 /// </summary> [Display(Name = "室溫")] A = 2, /// <summary> /// -40~+85度 /// </summary> [Display(Name = "-40~+85度")] B = 3, /// <summary> /// -20~+70度 /// </summary> [Display(Name = "-20~+70度")] D = 4, /// <summary> /// 50度 /// </summary> [Display(Name = "50度")] E = 5, /// <summary> /// 55度 /// </summary> [Display(Name = "55度")] F = 6, /// <summary> /// 40度 /// </summary> [Display(Name = "40度")] G = 7, } /// <summary> /// 燒機軟體 /// </summary> public enum EnumWipBI_OS { /// <summary> /// NA /// </summary> [Display(Name = "NA")] N = 1, /// <summary> /// Memtest86 /// </summary> [Display(Name = "Memtest86")] A = 2, /// <summary> /// Burnin test /// </summary> [Display(Name = "Burnin test")] B = 3, /// <summary> /// Memtest86+Burnin test /// </summary> [Display(Name = "Memtest86+Burnin test")] D = 4, /// <summary> /// Power onoff+Burnin test /// </summary> [Display(Name = "Power onoff+Burnin test")] E = 5, /// <summary> /// Android APP /// </summary> [Display(Name = "Android APP")] F = 6, /// <summary> /// QA Plus /// </summary> [Display(Name = "QA Plus")] G = 7, /// <summary> /// Stress test /// </summary> [Display(Name = "Stress test")] H = 8, } /// <summary> /// SOP Type /// </summary> public enum EnumWipSopType { /// <summary> /// SOP /// </summary> [Display(Name = "SOP")] A = 1, /// <summary> /// 技術轉移 /// </summary> [Display(Name = "技術轉移")] B = 2, /// <summary> /// N/A /// </summary> [Display(Name = "N/A")] C = 3, /// <summary> /// 暫時文件 /// </summary> [Display(Name = "暫時文件")] D = 4, /// <summary> /// REWORK /// </summary> [Display(Name = "REWORK")] E = 5, /// <summary> /// 差異SOP /// </summary> [Display(Name = "差異SOP")] F = 6, } /// <summary> /// SMD點膠 /// </summary> public enum EnumWipBoardSMDType { /// <summary> /// A面全點 /// </summary> [Display(Name = "A面全點")] A = 1 , /// <summary> /// B面全點 /// </summary> [Display(Name = "B面全點")] B = 2, /// <summary> /// A面部份點膠 /// </summary> [Display(Name = "A面部份點膠")] C = 3, /// <summary> /// B面部份點膠 /// </summary> [Display(Name = "B面部份點膠")] D = 4, /// <summary> /// 不須點膠 /// </summary> [Display(Name = "不須點膠")] F = 6, } /// <summary> /// DIP /// </summary> public enum EnumWipBoardDIPType { /// <summary> /// A面 /// </summary> [Display(Name = "A面")] A = 1, /// <summary> /// B面 /// </summary> [Display(Name = "B面")] B = 2, /// <summary> /// NA /// </summary> [Display(Name = "NA")] N = 3, } /// <summary> /// PCB烘烤 /// </summary> public enum EnumWipBoardPCBBakeType { /// <summary> /// 依廠內規範 /// </summary> [Display(Name = "依廠內規範")] A = 1, /// <summary> /// 125℃/ 2Hr /// </summary> [Display(Name = "125℃/ 2Hr")] B = 2, /// <summary> /// 120℃/ 1Hr (FPC) /// </summary> [Display(Name = "120℃/ 1Hr (FPC)")] C = 3, /// <summary> /// 其他 /// </summary> [Display(Name = "其他")] D = 4, } /// <summary> /// PCB加工 /// </summary> public enum EnumWipBoardPCBProcessingType { /// <summary> /// 噴印字樣 /// </summary> [Display(Name = "噴印字樣")] A = 1, /// <summary> /// 其他 /// </summary> [Display(Name = "其他")] B = 2, /// <summary> /// NA /// </summary> [Display(Name = "NA")] N = 0, } /// <summary> /// 錫膏 /// </summary> public enum EnumWipBoardSolderPasteType { /// <summary> /// KOKI 無鉛錫膏(S3X58-M406-3) /// </summary> [Display(Name = "KOKI 無鉛錫膏(S3X58-M406-3)")] A = 1, /// <summary> /// 千住 無鉛錫膏(M705-221BM5-32-11.5K3) /// </summary> [Display(Name = "千住 無鉛錫膏(M705-221BM5-32-11.5K3)")] B = 2, /// <summary> /// 千住 無鹵錫膏(M705-S101ZH-S4)、無鹵錫絲(SHF RC101 F3 M705) /// </summary> [Display(Name = "千住 無鹵錫膏(M705-S101ZH-S4)、無鹵錫絲(SHF RC101 F3 M705)")] C = 3, /// <summary> /// 其他 /// </summary> [Display(Name = "其他")] D = 4, } /// <summary> /// Get Enum Display /// </summary> /// <param name="enumValue"></param> /// <returns></returns> public static string GetDisplayName(System.Enum enumValue) { return enumValue.GetType()? .GetMember(enumValue.ToString())?.First()? .GetCustomAttribute<DisplayAttribute>()? .Name; } } }