Files
ayanova7/source/bizobjects/AyaLib/GZTW.AyaNova.BLL/AyaEnumConverter.cs
2018-06-29 19:47:36 +00:00

197 lines
7.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
namespace GZTW.AyaNova.BLL
{
/// <summary>
/// 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)
/// </summary>
public sealed class AyaEnumConverter
{
/// <summary>
/// Convert localized text key to enum value
/// </summary>
/// <param name="LocalizedTextKey">key of enum value </param>
/// <returns>Int of enum or -1 on fail to match</returns>
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;
}
}
}
}