using System; using System.Collections.Generic; using System.Text; namespace GZTW.AyaNova.BLL { /// /// This class converts localized text keys used to display /// enum values in AyaNova UI to integer enum values /// suitable for using in queries in database /// /// This is required because the Infragistics grid component /// only gives us the text selected in a filter based on an enum value /// not the underlying enum or it's value /// /// This method is used in conjunction with the GetLocalizedTextKey method /// in the LocalizedTextTable object by the UI (due to caching) /// public sealed class AyaEnumConverter { /// /// Convert localized text key to enum value /// /// key of enum value /// Int of enum or -1 on fail to match public static int Convert(string LocalizedTextKey) { switch (LocalizedTextKey) { //Purchase order status case "PurchaseOrder.Label.PurchaseOrderStatus.ClosedFullReceived": return (int)PurchaseOrderStatus.ClosedFullReceived; case "PurchaseOrder.Label.PurchaseOrderStatus.ClosedNoneReceived": return (int)PurchaseOrderStatus.ClosedNoneReceived; case "PurchaseOrder.Label.PurchaseOrderStatus.ClosedPartialReceived": return (int)PurchaseOrderStatus.ClosedPartialReceived; case "PurchaseOrder.Label.PurchaseOrderStatus.OpenNotYetOrdered": return (int)PurchaseOrderStatus.OpenNotYetOrdered; case "PurchaseOrder.Label.PurchaseOrderStatus.OpenOrdered": return (int)PurchaseOrderStatus.OpenOrdered; case "PurchaseOrder.Label.PurchaseOrderStatus.OpenPartialReceived": return (int)PurchaseOrderStatus.OpenPartialReceived; //AyaDayOfWeek case "UI.Label.Day.Any": return (int)AyaDayOfWeek.AnyDayOfWeek; case "UI.Label.Day.Monday": return (int)AyaDayOfWeek.Monday; case "UI.Label.Day.Tuesday": return (int)AyaDayOfWeek.Tuesday; case "UI.Label.Day.Wednesday": return (int)AyaDayOfWeek.Wednesday; case "UI.Label.Day.Thursday": return (int)AyaDayOfWeek.Thursday; case "UI.Label.Day.Friday": return (int)AyaDayOfWeek.Friday; case "UI.Label.Day.Saturday": return (int)AyaDayOfWeek.Saturday; case "UI.Label.Day.Sunday": return (int)AyaDayOfWeek.Sunday; //AyaUnitsOfTime case "UI.Label.TimeSpan.Minutes": return (int)AyaUnitsOfTime.Minutes; case "UI.Label.TimeSpan.Hours": return (int)AyaUnitsOfTime.Hours; case "UI.Label.TimeSpan.Days": return (int)AyaUnitsOfTime.Days; case "UI.Label.TimeSpan.Months": return (int)AyaUnitsOfTime.Months; case "UI.Label.TimeSpan.Years": return (int)AyaUnitsOfTime.Years; //Vendortypes case "Vendor.Label.VendorType.Manufacturer": case "Part.Label.ManufacturerID": return (int)VendorTypes.Manufacturer; case "Vendor.Label.VendorType.Shipper": return (int)VendorTypes.Shipper; case "Vendor.Label.VendorType.SubContractor": return (int)VendorTypes.SubContractor; case "Vendor.Label.VendorType.ThirdPartyRepair": return (int)VendorTypes.ThirdPartyRepair; case "Vendor.Label.VendorType.Wholesaler": return (int)VendorTypes.Wholesaler; //Added: 10-Nov-2006: Client service request stuff case "ClientServiceRequestStatus.Accepted": return (int)ClientServiceRequestStatus.Accepted; case "ClientServiceRequestStatus.Declined": return (int)ClientServiceRequestStatus.Declined; case "ClientServiceRequestStatus.Open": return (int)ClientServiceRequestStatus.Open; case "ClientServiceRequestStatus.Closed": return (int)ClientServiceRequestStatus.Closed; case "ClientServiceRequestPriority.ASAP": return (int)ClientServiceRequestPriority.ASAP; case "ClientServiceRequestPriority.Emergency": return (int)ClientServiceRequestPriority.Emergency; case "ClientServiceRequestPriority.NotUrgent": return (int)ClientServiceRequestPriority.NotUrgent; //Case 184 case "UserTypes.Label.Administrator": return (int)UserTypes.Administrator; case "UserTypes.Label.Schedulable": return (int)UserTypes.Schedulable; case "UserTypes.Label.NonSchedulable": return (int)UserTypes.NonSchedulable; case "UserTypes.Label.Client": return (int)UserTypes.Client; case "UserTypes.Label.HeadOffice": return (int)UserTypes.HeadOffice; case "UserTypes.Label.UTILITY": return (int)UserTypes.Utility; //Case 353 case "WorkorderQuoteStatusTypes.Label.Awarded": return (int)WorkorderQuoteStatusTypes.Awarded; case "WorkorderQuoteStatusTypes.Label.InProgress": return (int)WorkorderQuoteStatusTypes.InProgress; case "WorkorderQuoteStatusTypes.Label.NotAwarded": return (int)WorkorderQuoteStatusTypes.NotAwarded; case "WorkorderQuoteStatusTypes.Label.Submitted": return (int)WorkorderQuoteStatusTypes.Submitted; //case 1556 case "WorkorderQuoteStatusTypes.Label.New": return (int)WorkorderQuoteStatusTypes.New; case "WorkorderQuoteStatusTypes.Label.NotAwarded2": return (int)WorkorderQuoteStatusTypes.NotAwarded2; //case 420 case "LoanItem.Label.RateNone": return (int)LoanItemRates.None; case "LoanItem.Label.RateHour": return (int)LoanItemRates.Hours; case "LoanItem.Label.RateHalfDay": return (int)LoanItemRates.HalfDays; case "LoanItem.Label.RateDay": return (int)LoanItemRates.Days; case "LoanItem.Label.RateWeek": return (int)LoanItemRates.Weeks; case "LoanItem.Label.RateMonth": return (int)LoanItemRates.Months; case "LoanItem.Label.RateYear": return (int)LoanItemRates.Years; default: return -1; } } } }