using Elwig.Models;

namespace Elwig.Documents {
    public abstract class BusinessDocument : Document {

        public Member Member;
        public bool IncludeSender = false;
        public string Aside { get; set; }
        public string? Location { get; set; }

        public BusinessDocument(string title, Member m, bool includeSender = false) : base(title) {
            Member = m;
            Location = App.BranchName;
            IncludeSender = includeSender;
            var uid = (m.UstId ?? "-") + (m.IsBuchführend ? "" : " <i>(pauschaliert)</i>");
            Aside = $"<table><colgroup><col span='1' style='width: 2.25cm;'/><col span='1' style='width: 100%;'/></colgroup>" +
                $"<thead><tr><th colspan='2'>Mitglied</th></tr></thead><tbody>" +
                $"<tr><th>Mitglieds-Nr.</th><td>{m.MgNr}</td></tr>" +
                $"<tr><th>Betriebs-Nr.</th><td>{m.LfbisNr}</td></tr>" +
                $"<tr><th>UID</th><td>{uid}</td></tr>" +
                $"</tbody></table>";
        }

        public string Address {
            get {
                var b = Member.BillingAddress;
                var plz = (b == null) ? Member.PostalDest.AtPlz : b.PostalDest.AtPlz;
                if (b != null) {
                    return $"{b.Name}\n{Member.AdministrativeName}\n{b.Address}\n{plz.Plz} {plz.Dest}\nÖsterreich";
                } else {
                    return $"{Member.AdministrativeName}\n{Member.Address}\n{plz.Plz} {plz.Dest}\nÖsterreich";
                }
            }
        }
    }
}