mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 06:24:24 +01:00
Move GetDefaultPaymentId out of InvoiceExtensions
This commit is contained in:
committed by
Andrew Camilleri
parent
b2f9353be1
commit
e6aa73197a
@@ -467,6 +467,18 @@ namespace BTCPayServer.Controllers
|
|||||||
return View(model);
|
return View(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private PaymentMethodId GetDefaultInvoicePaymentId(
|
||||||
|
PaymentMethodId[] paymentMethodIds,
|
||||||
|
InvoiceEntity invoice
|
||||||
|
)
|
||||||
|
{
|
||||||
|
PaymentMethodId.TryParse(invoice.DefaultPaymentMethod, out var defaultPaymentId);
|
||||||
|
|
||||||
|
return paymentMethodIds.FirstOrDefault(f => f == defaultPaymentId) ??
|
||||||
|
paymentMethodIds.FirstOrDefault(f => f.CryptoCode == defaultPaymentId?.CryptoCode) ??
|
||||||
|
paymentMethodIds.FirstOrDefault();
|
||||||
|
}
|
||||||
|
|
||||||
private async Task<PaymentModel?> GetInvoiceModel(string invoiceId, PaymentMethodId? paymentMethodId, string? lang)
|
private async Task<PaymentModel?> GetInvoiceModel(string invoiceId, PaymentMethodId? paymentMethodId, string? lang)
|
||||||
{
|
{
|
||||||
var invoice = await _InvoiceRepository.GetInvoice(invoiceId);
|
var invoice = await _InvoiceRepository.GetInvoice(invoiceId);
|
||||||
@@ -476,7 +488,7 @@ namespace BTCPayServer.Controllers
|
|||||||
bool isDefaultPaymentId = false;
|
bool isDefaultPaymentId = false;
|
||||||
if (paymentMethodId is null)
|
if (paymentMethodId is null)
|
||||||
{
|
{
|
||||||
paymentMethodId = _InvoiceRepository.GetDefaultPaymentId(store.GetEnabledPaymentIds(_NetworkProvider), invoice) ?? store.GetDefaultPaymentId(_NetworkProvider);
|
paymentMethodId = GetDefaultInvoicePaymentId(store.GetEnabledPaymentIds(_NetworkProvider), invoice) ?? store.GetDefaultPaymentId(_NetworkProvider);
|
||||||
isDefaultPaymentId = true;
|
isDefaultPaymentId = true;
|
||||||
}
|
}
|
||||||
BTCPayNetworkBase network = _NetworkProvider.GetNetwork<BTCPayNetworkBase>(paymentMethodId.CryptoCode);
|
BTCPayNetworkBase network = _NetworkProvider.GetNetwork<BTCPayNetworkBase>(paymentMethodId.CryptoCode);
|
||||||
|
|||||||
@@ -48,19 +48,5 @@ namespace BTCPayServer.Services.Invoices
|
|||||||
eventAggregator.Publish(new InvoiceNeedUpdateEvent(invoice.Id));
|
eventAggregator.Publish(new InvoiceNeedUpdateEvent(invoice.Id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PaymentMethodId GetDefaultPaymentId(
|
|
||||||
this InvoiceRepository invoiceRepository,
|
|
||||||
PaymentMethodId[] paymentMethodIds,
|
|
||||||
InvoiceEntity invoice
|
|
||||||
)
|
|
||||||
{
|
|
||||||
PaymentMethodId.TryParse(invoice.DefaultPaymentMethod, out var defaultPaymentId);
|
|
||||||
var chosen = paymentMethodIds.FirstOrDefault(f => f == defaultPaymentId) ??
|
|
||||||
paymentMethodIds.FirstOrDefault(f => f.CryptoCode == defaultPaymentId?.CryptoCode) ??
|
|
||||||
paymentMethodIds.FirstOrDefault();
|
|
||||||
return chosen;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user