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("", "") + $"Gutschrift" + $"TG-Nr.{(p.Credit != null ? $"{p.Credit.Year}/{p.Credit.TgNr:000}" : "-")}" + $"Überw. am{p.Variant.TransferDate:dd.MM.yyyy}" + $"Datum/Zeit{p.Credit?.ModifiedTimestamp:dd.MM.yyyy} / {p.Credit?.ModifiedTimestamp:HH:mm}" + $""; 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; } }}