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); } }
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()); }
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); }
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); }