Exemple #1
0
        public static X9Record GetObjectFor(XRecord record)
        {
            X9Record ret;

            switch (record.TypeId)
            {
            case "01": ret = new R01(); break;

            case "10": ret = new R10(); break;

            case "20": ret = new R20(); break;

            case "25": ret = new R25(); break;

            case "26": ret = new R26(); break;

            case "50": ret = new R50(); break;

            case "52": ret = new R52(); break;

            case "61": ret = new R61(); break;

            case "70": ret = new R70(); break;

            case "90": ret = new R90(); break;

            case "99": ret = new R99(); break;

            default: ret = new Unknown(); break;
            }
            return(ret);
        }
Exemple #2
0
        public static string GetClassFor(XRecord record)
        {
            var meta  = GetMeta()[record];
            var sb    = new StringBuilder();
            var props = new StringBuilder();

            sb.Append($"public class R{record.TypeId}: X9Record\n{{\n    public override void SetData(string data, byte[] optional = null)\n    {{\n        base.SetData(data, optional);\n");
            sb.Append($"        Debug.WriteLine(\"R{record.TypeId} SetData() called\");\n");
            foreach (var field in meta)
            {
                if (field.FieldName == "RecordType")
                {
                    continue;                                  // part of base class, everyone has this
                }
                var dataType = "string";
                if (field.DataType == DataType.Binary)
                {
                    dataType = "byte[]";
                }
                props.Append($"    public {dataType} {field.FieldName} {{ get; set; }}\n");
                if (field.DataType != DataType.Binary)
                {
                    sb.Append($"        {field.FieldName} = Data.Substring({field.Position.Start}, {field.Size});\n");
                }
                else
                {
                    //, Data.Length
                    sb.Append($"        {field.FieldName} = optional;\n");
                }
            }
            sb.Append("    }\n\n");
            sb.Append(props);
            sb.Append("}");
            return(sb.ToString());
        }