public static LineTemplate GetLineTemplateToParseEbcidicDataWithFixedRecordLength() { var lineTemplate = new LineTemplate(LineSize, TemplateName); lineTemplate.AddFieldTemplate(new FieldTemplate(FieldReservationNumber, FieldType.String, startPosition: 0, fieldSize: 11)); lineTemplate.AddFieldTemplate(new FieldTemplate(FieldCheckInDate, FieldType.DateString, startPosition: 11, fieldSize: 6)); lineTemplate.AddFieldTemplate(new FieldTemplate(FieldCalcNetAmount, FieldType.BinaryNum, startPosition: 17, fieldSize: 4, decimalPlaces: 2)); lineTemplate.AddFieldTemplate(new FieldTemplate(FieldCustomerName, FieldType.String, startPosition: 21, fieldSize: 30)); lineTemplate.AddFieldTemplate(new FieldTemplate(FieldRunDate, FieldType.DateStringMMDDYY, startPosition: 51, fieldSize: 6)); lineTemplate.AddFieldTemplate(new FieldTemplate(FieldCurrencyConvRate, FieldType.Packed, startPosition: 57, fieldSize: 6, decimalPlaces: 6)); lineTemplate.AddFieldTemplate(new FieldTemplate(FieldUsDollarAmountDue, FieldType.Packed, startPosition: 63, fieldSize: 6, decimalPlaces: 2)); lineTemplate.AddFieldTemplate(new FieldTemplate(FieldDateOfBirth, FieldType.PackedDate, startPosition: 69, fieldSize: 4)); return(lineTemplate); }
public void Used_For_Manual_Testing() { var lineBytes = ParserUtilities.ConvertHexStringToByteArray("F1-F5-F0-F1-F2-F3"); var lineTemplate = new LineTemplate(lineBytes.Length); var fieldName = "TEST_ITEM"; lineTemplate.AddFieldTemplate( new FieldTemplate( fieldName: fieldName, fieldType: FieldType.DateString, startPosition: 0, fieldSize: lineBytes.Length, decimalPlaces: 0)); var processor = new EbcdicParser(); var parsedLine = processor.ParseSingleLine(lineTemplate, lineBytes); var testOutput = parsedLine[fieldName]; Debug.WriteLine(parsedLine.ToXmlString()); }