Getting display names directly from NetworkProvider

This commit is contained in:
rockstardev
2018-07-16 23:25:28 -05:00
parent 464ab30fea
commit c75512303d
13 changed files with 17 additions and 18 deletions

View File

@@ -248,7 +248,7 @@ namespace BTCPayServer.Controllers
{
CryptoCode = network.CryptoCode,
PaymentMethodId = paymentMethodId.ToString(),
PaymentMethodName = GetPaymentMethodName(paymentMethodId.ToString()),
PaymentMethodName = network.DisplayName,
CryptoImage = "/" + GetImage(paymentMethodId, network),
IsLightning = paymentMethodId.PaymentType == PaymentTypes.LightningLike,
ServerUrl = HttpContext.Request.GetAbsoluteRoot(),
@@ -289,11 +289,12 @@ namespace BTCPayServer.Controllers
.Select(kv => new PaymentModel.AvailableCrypto()
{
PaymentMethodId = kv.GetId().ToString(),
PaymentMethodName = GetPaymentMethodName(kv.GetId().ToString()),
PaymentMethodName = kv.Network.DisplayName,
LightningLike = kv.GetId().PaymentType == PaymentTypes.LightningLike,
CryptoImage = "/" + GetImage(kv.GetId(), kv.Network),
Link = Url.Action(nameof(Checkout), new { invoiceId = invoiceId, paymentMethodId = kv.GetId().ToString() })
}).Where(c => c.CryptoImage != "/")
.OrderBy(a => a.PaymentMethodName)
.OrderBy(a => a.PaymentMethodName).ThenBy(a => a.LightningLike ? 1 : 0)
.ToList()
};
@@ -302,19 +303,6 @@ namespace BTCPayServer.Controllers
return model;
}
private static readonly Dictionary<string, string> CURRENCY_NAMES = new Dictionary<string, string>
{
{"BTC", "Bitcoin (BTC)" },
{"BTC_LightningLike", "Bitcoin (BTC) Lightning" },
{"LTC", "Litecoin (LTC)" },
{"LTC_LightningLike", "Litecoin (LTC) Lightning" },
{"DOGE", "Dogecoin (DOGE)" },
};
private string GetPaymentMethodName(string key)
{
return CURRENCY_NAMES[key];
}
private string GetImage(PaymentMethodId paymentMethodId, BTCPayNetwork network)
{
return (paymentMethodId.PaymentType == PaymentTypes.BTCLike ? Url.Content(network.CryptoImagePath) : Url.Content(network.LightningImagePath));