using HotChocolate.Language;
using System.Collections.Generic;

namespace CalculationBackend.Model.ImportExport
{
    public static class Positions
    {
        public readonly struct Pos
        {
            public Pos(int start, int length)
            {
                S = start;
                L = length;
            }
            public int S { get; }
            public int L { get; }
        }

        public static Pos Kapitelnummer              { get; } = new Pos(  1,   3);
      //public static Pos (leer)                     { get; } = new Pos(  4,   1);
        public static Pos Ausgabejahr                { get; } = new Pos(  5,   2);
        public static Pos Leistungsposition          { get; } = new Pos(  7,   6);
        public static Pos Variablennummer            { get; } = new Pos( 13,   2);
        public static Pos Zeilennummer               { get; } = new Pos( 15,   2);
        public static Pos Objektgliederung           { get; } = new Pos( 17,   6);
        public static Pos Positionslage              { get; } = new Pos( 23,   6);
        public static Pos Variantengruppe            { get; } = new Pos( 29,   3);
        public static Pos VarianteInnerhalbDerGruppe { get; } = new Pos( 32,   3);
        public static Pos Verbandskalkulation        { get; } = new Pos( 35,   6);
        public static Pos Recordtyp                  { get; } = new Pos( 41,   1);
      //public static Pos (leer)                     { get; } = new Pos( 42,   1);
        public static Pos Mengenart                  { get; } = new Pos( 43,   1);
        public static Pos VorzeichenMenge            { get; } = new Pos( 44,   1);
        public static Pos Menge                      { get; } = new Pos( 45,  13);
        public static Pos Mengeneinheit              { get; } = new Pos( 58,   2);
        public static Pos Preisart                   { get; } = new Pos( 60,   1);
        public static Pos VorzeichenPreis            { get; } = new Pos( 61,   1);
        public static Pos Preis                      { get; } = new Pos( 62,  12);
        public static Pos Laufnummer                 { get; } = new Pos( 74,   7);
        public static Pos KagCode                    { get; } = new Pos( 81,   5);
        public static Pos Elementcode                { get; } = new Pos( 86,   6);
        public static Pos Positionstext              { get; } = new Pos( 92,  30);
        public static Pos SpezielleCodierungen       { get; } = new Pos(122, 134);
        public static Pos SpezielleCodierungen0      { get; } = new Pos(122,  15);
        public static Pos SpezielleCodierungen1      { get; } = new Pos(137,  30);
        public static Pos SpezielleCodierungen2      { get; } = new Pos(167,  20);
        public static Pos SpezielleCodierungen3      { get; } = new Pos(187,  20);
        public static Pos SpezielleCodierungen4      { get; } = new Pos(207,  30);
        public static Pos SpezielleCodierungen5      { get; } = new Pos(237,  19);
    }
}
