EDI X12 Map Example - olmelabs/EdiEngine GitHub Wiki

EDI X12 Map Example

//Map
public M_940() : base(null)
{
    Content.AddRange(new MapBaseEntity[] {
        new W05() { ReqDes = RequirementDesignator.Mandatory, MaxOccurs = 1 },
        new L_N1(this) { ReqDes = RequirementDesignator.Optional, MaxOccurs = 10 },
        new N9() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 10 },
        new G61() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 3 },
        new G62() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 10 },
        new NTE() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 999999 },
        new W09() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 1 },
        new W66() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 1 },
        new W6() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 1 },
        new R2() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 13 },
        new BNX() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 1 },
        new L_LM(this) { ReqDes = RequirementDesignator.Optional, MaxOccurs = 10 },
        new L_LX(this) { ReqDes = RequirementDesignator.Optional, MaxOccurs = 999999 },
        new W76() { ReqDes = RequirementDesignator.Optional, MaxOccurs = 1 },
    });
}
//Segment
public class W05 : MapSegment
{
    public W05()
    {
	SyntaxNotes.AddRange(new[] { "P0405" });

        Content.AddRange(new MapDataElement[] {
            new E_0473 { ReqDes = RequirementDesignator.Mandatory  },
            new E_0285 { ReqDes = RequirementDesignator.Mandatory  },
            new E_0324 { ReqDes = RequirementDesignator.Optional  },
            new E_0472 { ReqDes = RequirementDesignator.Optional  },
            new E_0474 { ReqDes = RequirementDesignator.Optional  },
            new E_0640 { ReqDes = RequirementDesignator.Optional  },
            new E_0306 { ReqDes = RequirementDesignator.Optional  },
        });
    }
}
//DataElement
public class E_0277 : MapDataElement
{
    public E_0277()
    {
        DataType = DataType.AN;
        MinLength = 6;
        MaxLength = 6;
    }
}