43 lines
2.0 KiB
C#
43 lines
2.0 KiB
C#
using Elwig.Helpers;
|
||
using Elwig.Models.Dtos;
|
||
using Elwig.Models.Entities;
|
||
using System.Linq;
|
||
|
||
namespace Elwig.Documents {
|
||
public class CreditNote : BusinessDocument {
|
||
|
||
public PaymentMember? Payment;
|
||
public Credit? Credit;
|
||
public CreditNoteData Data;
|
||
public string? Text;
|
||
public string CurrencySymbol;
|
||
public int Precision;
|
||
public string MemberModifier;
|
||
|
||
public CreditNote(AppDbContext ctx, PaymentMember p, CreditNoteData data) :
|
||
base($"Traubengutschrift {(p.Credit != null ? $"Nr. {p.Credit.Year}/{p.Credit.TgNr:000}" : p.Member.Name)} – {p.Variant.Name}", p.Member) {
|
||
UseBillingAddress = true;
|
||
ShowDateAndLocation = true;
|
||
Data = data;
|
||
Payment = p;
|
||
Credit = p.Credit;
|
||
var season = p.Variant.Season;
|
||
var mod = App.Client.IsMatzen ? ctx.Modifiers.Where(m => m.Year == season.Year && m.Name.StartsWith("Treue")).FirstOrDefault() : null;
|
||
if (mod != null) {
|
||
MemberModifier = $"{mod.Name} ({mod.ValueStr})";
|
||
} else {
|
||
MemberModifier = "Sonstige Zu-/Abschläge";
|
||
}
|
||
Aside = Aside.Replace("</table>", "") +
|
||
$"<thead><tr><th colspan='2'>Gutschrift</th></tr></thead><tbody>" +
|
||
$"<tr><th>TG-Nr.</th><td>{(p.Credit != null ? $"{p.Credit.Year}/{p.Credit.TgNr:000}" : "-")}</td></tr>" +
|
||
$"<tr><th>Überw. am</th><td>{p.Variant.TransferDate:dd.MM.yyyy}</td></tr>" +
|
||
$"<tr><th>Datum/Zeit</th><td>{p.Credit?.ModifiedTimestamp:dd.MM.yyyy} / {p.Credit?.ModifiedTimestamp:HH:mm}</td></tr>" +
|
||
$"</tbody></table>";
|
||
Text = App.Client.TextDeliveryNote;
|
||
DocumentId = $"Tr.-Gutschr. " + (p.Credit != null ? $"{p.Credit.Year}/{p.Credit.TgNr:000}" : p.MgNr);
|
||
CurrencySymbol = season.Currency.Symbol ?? season.Currency.Code;
|
||
Precision = season.Precision;
|
||
}
|
||
}}
|