示例#1
0
 public Segment(Container parent, X12DelimiterSet delimiters, string segment)
     : base(delimiters, segment)
 {
     this.Parent = parent;
     this.Initialize(segment);
     this.DelimiterSet = delimiters;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="HierarchicalLoop"/> class with the provided parameters
 /// </summary>
 /// <param name="parent">Parent container</param>
 /// <param name="delimiters">Delimiter set indicating how to segregate segments and elements</param>
 /// <param name="segment">Segment string for the loop</param>
 internal HierarchicalLoop(Container parent, X12DelimiterSet delimiters, string segment)
     : base(parent, delimiters, segment)
 {
 }
 internal LoopContainer(Container parent, X12DelimiterSet delimiters, string startingSegment)
     : base(parent, delimiters, startingSegment)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FunctionGroup"/> class with the provided parameters
 /// </summary>
 /// <param name="specFinder">Specification finder for the container</param>
 /// <param name="parent">FunctionGroup parent container</param>
 /// <param name="delimiters">Delimiter set for segregating segments and elements</param>
 /// <param name="segment">Container segment string</param>
 internal FunctionGroup(ISpecificationFinder specFinder, Container parent, X12DelimiterSet delimiters, string segment)
     : base(parent, delimiters, segment)
 {
     this.SpecFinder   = specFinder;
     this.Transactions = new List <Transaction>();
 }
 internal void Initialize(Container parent, X12DelimiterSet delimiters)
 {
     this.OnInitializing(new EventArgs());
     this.Segment = new Segment(parent, delimiters, this.segmentId);
     this.OnInitialized(new EventArgs());
 }
示例#6
0
        public Interchange(ISpecificationFinder specFinder, DateTime date, int controlNumber, bool production, X12DelimiterSet delimiters)
            : base(null, delimiters, string.Format(
                       "ISA{1}00{1}          {1}00{1}          {1}01{1}SENDERID HERE  {1}01{1}RECIEVERID HERE{1}{3:yyMMdd}{1}{3:HHmm}{1}U{1}00401{1}{4:000000000}{1}1{1}{5}{1}{2}{0}",
                       delimiters.SegmentTerminator,
                       delimiters.ElementSeparator,
                       delimiters.SubElementSeparator,
                       date,
                       controlNumber,
                       production ? "P" : "T"))
        {
            this.SpecFinder = specFinder;
            if (controlNumber > 999999999 || controlNumber < 1)
            {
                throw new ElementValidationException(
                          Resources.InterchangeValueOutOfRange,
                          "ISA00",
                          controlNumber.ToString());
            }

            this.functionGroups = new List <FunctionGroup>();
            this.SetTerminatingTrailerSegment(string.Format("IEA{0}0{0}{2:000000000}{1}", delimiters.ElementSeparator, delimiters.SegmentTerminator, controlNumber));
        }
 internal Transaction(Container parent, X12DelimiterSet delimiters, string segment, TransactionSpecification spec)
     : base(parent, delimiters, segment)
 {
     this.Specification = spec;
 }
示例#8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DetachedSegment"/> class
 /// </summary>
 /// <param name="delimiters">Delimiter set for the segment to use</param>
 /// <param name="segment">Segment string to initialize with</param>
 public DetachedSegment(X12DelimiterSet delimiters, string segment)
 {
     this.DelimiterSet = delimiters;
     this.Initialize(segment);
 }
示例#9
0
 internal Loop(Container parent, X12DelimiterSet delimiters, string startingSegment, LoopSpecification loopSpecification)
     : base(parent, delimiters, startingSegment)
 {
     this.Specification = loopSpecification;
 }
 internal virtual void Initialize(Container parent, X12DelimiterSet delimiters, LoopSpecification loopSpecification)
 {
     this.Loop = new Loop(parent, delimiters, this.SegmentId, loopSpecification);
 }
 internal virtual string GetSegmentString(X12DelimiterSet delimiters)
 {
     return($"{this.SegmentId}{delimiters.ElementSeparator}");
 }
 internal HierarchicalLoopContainer(Container parent, X12DelimiterSet delimiters, string startingSegment)
     : base(parent, delimiters, startingSegment)
 {
     this.AllHLoops = new Dictionary <string, HierarchicalLoop>();
 }
示例#13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Container"/> class with the provided parent, delimiters, and segment string.
 /// </summary>
 /// <param name="parent">Parent container</param>
 /// <param name="delimiters">Delimiter set for separating segment elements and segments</param>
 /// <param name="segment">Segment string representing container</param>
 internal Container(Container parent, X12DelimiterSet delimiters, string segment)
     : base(parent, delimiters, segment)
 {
 }