Esempio n. 1
0
        protected virtual void ProcessDataFields(string package)
        {
            if (!RevisionsByFields.Any())
            {
                return;
            }

            int revision = HeaderData.Revision > 0 ? HeaderData.Revision : 1;

            for (int i = 1; i <= revision; i++)
            {
                ProcessDataFields(RevisionsByFields[i], package);
            }
        }
Esempio n. 2
0
 protected virtual string BuildHeader()
 {
     if (RevisionsByFields.Any())
     {
         HeaderData.Length = 20;
         for (int i = 1; i <= (HeaderData.Revision > 0 ? HeaderData.Revision : 1); i++)
         {
             foreach (var dataField in RevisionsByFields[i])
             {
                 HeaderData.Length += (dataField.HasPrefix ? 2 : 0) + dataField.Size;
             }
         }
     }
     return(HeaderData.ToString());
 }
Esempio n. 3
0
        public virtual string Pack()
        {
            if (!RevisionsByFields.Any())
            {
                return(BuildHeader());
            }

            string package     = BuildHeader();
            int    prefixIndex = 1;

            for (int i = 1; i <= (HeaderData.Revision > 0 ? HeaderData.Revision : 1); i++)
            {
                package += Pack(RevisionsByFields[i], ref prefixIndex);
            }

            return(package);
        }
Esempio n. 4
0
        public virtual string Pack()
        {
            if (!RevisionsByFields.Any())
            {
                return(BuildHeader());
            }

            string package     = BuildHeader();
            int    prefixIndex = 1;

            for (int i = 1; i <= (Header.Revision > 0 ? Header.Revision : 1); i++)
            {
                if (RevisionsByFields.TryGetValue(i, out var dataFields))
                {
                    package += Pack(dataFields, ref prefixIndex);
                }
            }

            return(package);
        }