mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2024-11-19 09:54:30 +01:00
37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
using System;
|
|
using BTCPayServer.Payments;
|
|
|
|
namespace BTCPayServer.Data
|
|
{
|
|
public static class AddressInvoiceDataExtensions
|
|
{
|
|
#pragma warning disable CS0618
|
|
public static string GetAddress(this AddressInvoiceData addressInvoiceData)
|
|
{
|
|
if (addressInvoiceData.Address == null)
|
|
return null;
|
|
var index = addressInvoiceData.Address.LastIndexOf("#", StringComparison.InvariantCulture);
|
|
if (index == -1)
|
|
return addressInvoiceData.Address;
|
|
return addressInvoiceData.Address.Substring(0, index);
|
|
}
|
|
public static AddressInvoiceData Set(this AddressInvoiceData addressInvoiceData, string address, PaymentMethodId paymentMethodId)
|
|
{
|
|
addressInvoiceData.Address = address + "#" + paymentMethodId.ToString();
|
|
return addressInvoiceData;
|
|
}
|
|
public static PaymentMethodId GetPaymentMethodId(this AddressInvoiceData addressInvoiceData)
|
|
{
|
|
if (addressInvoiceData.Address == null)
|
|
return null;
|
|
var index = addressInvoiceData.Address.LastIndexOf("#", StringComparison.InvariantCulture);
|
|
// Legacy AddressInvoiceData does not have the paymentMethodId attached to the Address
|
|
if (index == -1)
|
|
return PaymentMethodId.Parse("BTC");
|
|
/////////////////////////
|
|
return PaymentMethodId.TryParse(addressInvoiceData.Address.Substring(index + 1));
|
|
}
|
|
#pragma warning restore CS0618
|
|
}
|
|
}
|