using Elwig.Helpers;
using Elwig.Models.Dtos;
using Elwig.Models.Entities;

namespace Elwig.Documents {
    public class CreditNote : BusinessDocument {

        public Credit? Credit;
        public CreditNoteData Data;
        public string? Text;
        public string CurrencySymbol;
        public int Precision;

        public CreditNote(AppDbContext ctx, PaymentMember p, CreditNoteData data) :
            base($"Traubengutschrift {(p.Credit != null ? $"Nr. {p.Credit.Year}/{p.Credit.TgNr}" : p.Member.Name)} – {p.Variant.Name}", p.Member) {
            UseBillingAddress = true;
            ShowDateAndLocation = true;
            Data = data;
            Credit = p.Credit;
            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}" : "-")}</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}" : p.MgNr);
            CurrencySymbol = p.Variant.Season.Currency.Symbol ?? p.Variant.Season.Currency.Code;
            Precision = p.Variant.Season.Precision;
        }
    }}