Files
ZuneShell.dll/ZuneShell/ZuneUI/CreditCardHelper.cs
T

86 lines
3.1 KiB
C#

// Decompiled with JetBrains decompiler
// Type: ZuneUI.CreditCardHelper
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
using Microsoft.Zune.Service;
using System;
using System.Collections;
namespace ZuneUI
{
public static class CreditCardHelper
{
private static string[] s_CardTypeStrs;
private static string[] s_SupportedCardTypeStrs;
private static string[] s_JpnSupportedCardTypeStrs;
public static string CardTypeToString(CreditCardType cardType) => CardTypeToString((int)cardType);
public static string CardTypeToString(int cardType)
{
string[] creditCardMappings = CreditCardMappings;
return cardType >= 0 && cardType < creditCardMappings.Length ? creditCardMappings[cardType] : null;
}
public static CreditCardType CardTypeFromString(string cardTypeStr)
{
string[] creditCardMappings = CreditCardMappings;
for (int index = 0; index < creditCardMappings.Length; ++index)
{
if (creditCardMappings[index] == cardTypeStr)
return (CreditCardType)index;
}
return CreditCardType.Unknown;
}
public static IList CardTypes
{
get
{
if (s_SupportedCardTypeStrs == null || s_JpnSupportedCardTypeStrs == null)
{
string[] creditCardMappings = CreditCardMappings;
s_SupportedCardTypeStrs = new string[4]
{
creditCardMappings[2],
creditCardMappings[3],
creditCardMappings[1],
creditCardMappings[0]
};
s_JpnSupportedCardTypeStrs = new string[4]
{
creditCardMappings[2],
creditCardMappings[1],
creditCardMappings[0],
creditCardMappings[4]
};
Array.Sort(s_SupportedCardTypeStrs);
Array.Sort(s_JpnSupportedCardTypeStrs);
}
return SignIn.Instance.SignedIn && string.Compare(SignIn.Instance.CountryCode, "JP", StringComparison.OrdinalIgnoreCase) == 0 ? s_JpnSupportedCardTypeStrs : s_SupportedCardTypeStrs;
}
}
private static string[] CreditCardMappings
{
get
{
if (s_CardTypeStrs == null)
s_CardTypeStrs = new string[7]
{
Shell.LoadString(StringId.IDS_BILLING_CC_VISA),
Shell.LoadString(StringId.IDS_BILLING_CC_MASTERCARD),
Shell.LoadString(StringId.IDS_BILLING_CC_AMEX),
Shell.LoadString(StringId.IDS_BILLING_CC_DISCOVER),
Shell.LoadString(StringId.IDS_BILLING_CC_JCB),
Shell.LoadString(StringId.IDS_BILLING_CC_DINERS),
Shell.LoadString(StringId.IDS_BILLING_CC_KLCC)
};
return s_CardTypeStrs;
}
}
}
}