using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace lkfxdok.LKF.ic
{
    public class IntAbteilung
    {
        public readonly string AUFNR;
        public readonly string AUFDAT;
        public readonly string ABTPOS;
        public readonly string ABTFC;
        public readonly int Score;

        internal IntAbteilung (IntContext context, uint index)
        {
            AUFNR = context.GetICData(index, IntContextField.AUFNR);
            if (AUFNR != null)
                AUFNR = AUFNR.TrimEnd();
            if (string.IsNullOrEmpty (AUFNR))
            {
                AUFNR = context.GetICData(index, IntContextField.AUFID64);
                if (AUFNR != null)
                    AUFNR = AUFNR.TrimEnd();
            }

            AUFDAT = context.GetICData(index, IntContextField.AUFDAT);
            if (AUFDAT != null)
                AUFDAT = AUFDAT.TrimEnd();
            else
            {
                AUFDAT = String.Empty;
            }

            ABTPOS = context.GetICData(index, IntContextField.ABTPOS);
            ABTFC = context.GetICData(index, IntContextField.ABTFC);
            if (context.GetSAPSCount(index) > 0)
                Score = context.GetIntSAPSData(index, 0, IntContextField.SCORE);
            else
                Score = 0;
        }

        internal string AUFKey
        {
            get
            {
                return AUFNR + '.' + AUFDAT;
            }
        }
    }
}
