Example #1
0
        public static Blankett CreateFrom(KU ku)
        {
            if (ku == null)
            {
                throw new ArgumentNullException(nameof(ku));
            }

            var blankettnummer = ku.GetType().GetCustomAttribute <BlankettnummerAttribute>(false);

            if (blankettnummer == null)
            {
                throw new InvalidOperationException("Metadata BlankettnummerAttribute is missing");
            }

            var id = ku.GetId();

            return(new Blankett
            {
                Nummer = blankettnummer.Nummer,
                Arendeinformation =
                {
                    Arendeagare = id.UppgiftslamnarId,
                    Period      = id.Inkomstar,
                },
                Blankettinnehall = ku
            });
        }
Example #2
0
        private XElement CreateBlankettinnehall(KU blankettinnehall)
        {
            var id = blankettinnehall.GetId();

            var layout = blankettinnehall.GetLayout();

            var data = blankettinnehall.Data;

            var el = new XElement(_ku + id.Typ);

            foreach (var f in data.Subset(layout.Kontrolluppgifter))
            {
                if (f.HasValue)
                {
                    el.Add(CreateValue(f));
                }
            }

            var inkomsttagare = new XElement(_ku + "Inkomsttagare" + id.Typ);

            foreach (var f in data.Subset(layout.Inkomsttagare))
            {
                if (f.HasValue)
                {
                    inkomsttagare.Add(CreateValue(f));
                }
            }
            el.Add(inkomsttagare);

            var uppgiftslamnare = new XElement(_ku + "Uppgiftslamnare" + id.Typ);

            foreach (var f in data.Subset(layout.Uppgiftslamnare))
            {
                if (f.HasValue)
                {
                    uppgiftslamnare.Add(CreateValue(f));
                }
            }
            el.Add(uppgiftslamnare);

            return(el);
        }