WOX2
@ 14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
using System; using ClaimPortal.Requests; using wox.serial; /// <header> /// <wox> /// <version>1.0</version> /// <author>Carlos R. Jaimez Gonzalez</author> /// <author>Simon M. Lucas</author> /// <site>http://woxserializer.sourceforge.net/</site> /// </wox> /// <wox> /// <version>1.5</version> /// <author>Steven M Lewis</author> /// </wox> /// <wox> /// <version>2.0</version> /// <author>George A Smith</author> /// <svn>http://woxserializer.sourceforge.net/</svn> /// <note>XML form for vs 2 is more compact and therefor incompatible with vs 1</note> /// </wox> /// </header> namespace ClaimPortal { public abstract class AbstractCompositeIDStringifier : AbstractSingleWoxTypeStringableHandler { protected AbstractCompositeIDStringifier( Type pType ) : base( pType ) { } public override bool WillParseFieldValueForWoxType( string pWoxType ) { return true; } public override string CreateFieldValue( object pFieldValue ) { return Stringify( pFieldValue ); } protected abstract String GetIdString( object inp ); protected abstract String GetTypeString( object inp ); protected abstract Object BuildObject( String type, String id ); protected override string Stringify( object inp ) { return GetTypeString( inp ) + "|" + GetIdString( inp ); } protected override object CreateInstance( string pValue ) { String[] items = pValue.Split( '|' ); return BuildObject( items[0], items[1] ); } } public class PatientIdentifierStringifier : AbstractCompositeIDStringifier { public PatientIdentifierStringifier() : base( typeof (PatientIdentifier) ) { } protected override string GetIdString( object inp ) { return ((PatientIdentifier) inp).ID; } protected override string GetTypeString( object inp ) { return ((PatientIdentifier) inp).Qualifier.ToString(); } protected override object BuildObject( string type, string id ) { return new PatientIdentifier( (PatientIDType) Enum.Parse( typeof (PatientIDType), type ), id ); } } } |