@model (InvoiceDetailsModel Invoice, bool ShowAddress) @{ var invoice = Model.Invoice; var grouped = invoice.Payments .GroupBy(payment => payment.GetPaymentMethodId()?.PaymentType) .Where(entities => entities.Key != null); } @if (invoice.Overpaid) { var usedPaymentMethods = invoice.CryptoPayments.Count(p => p.Paid != null);

This invoice got overpaid. @if (usedPaymentMethods > 1) { @("Each payment method shows the total excess amount.") }

}
@if (Model.ShowAddress) { } @if (invoice.HasRates) { } @if (invoice.StillDue) { } else if (invoice.Overpaid) { } @foreach (var payment in invoice.CryptoPayments) { @if (Model.ShowAddress) { } @if (invoice.HasRates) { } @if (invoice.StillDue) { } else if (invoice.Overpaid) { } var details = payment.PaymentMethodRaw.GetPaymentMethodDetails(); var name = details.GetAdditionalDataPartialName(); if (!string.IsNullOrEmpty(name)) { } }
Payment methodDestinationRateTotal dueStill dueOverpaidPaid
@payment.PaymentMethod @payment.Rate @payment.TotalDue @if (payment.Due != null) { @payment.Due } @if (payment.Overpaid != null) { @payment.Overpaid } @if (payment.Paid != null) { @payment.Paid }
@foreach (var paymentGroup in grouped) { }