Apr 13, 2014 at 5:45 PM
Edited Apr 13, 2014 at 5:46 PM
Great project highly recommended. Also very useful Mike Pisano's test project to get started and understand the serialization process. I would suggest adding this project as a sample in future releases.

I used this framework to serialize a 850 00401 and de-serialize 842/832/810/855/856 00401

My two cents:
  • The EDI designers (*.cs) need to be decorated with XmlAttributes for greater control (i.e. ordering) during the serialization process. This can be easily achieved with xsd2code;
  • The EDI docs are rarely used 'as-is' by clients that always require some sort of customization. For me, this led to several unused segments from the standard EDI designer that I needed to ignore during serialization. My simplistic solution has been just removing the empty elements from the Xml file:
element.Descendants().Where(e => string.IsNullOrEmpty(e.Value)).Remove();
Maybe there is an option in the Framework to do this more elegantly.
  • Finally, the client's EDI system adds trailing spaces to some of the EDI documents segments. This results in 'null' segments that error out during serialization. My lame solution was just to clean up the raw EDI doc (by trimming those trailing spaces), before processing it with the Framework. Again, maybe there is a more elegant way the Framework handles that.
Keep up this great work!

Apr 30, 2014 at 8:12 AM
Thank you for the input Sherman. The ordering was a major issue and it is resolved exactly as you had suggested - using xml attributes on the definitions.
This has now been resolved in Release 2.0

Regarding your last point - the framework already should be trimming out trailing spaces so it's odd it didn't work for you. Could you please send me an example to reproduce it ?