public Protocols.Logistics.GetAlternatePartsResultProtocol GetAlternateParts(Protocols.Logistics.GetAlternatePartsSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Logistics.LogisticsToolkit toolkit = new FChoice.Toolkits.Clarify.Logistics.LogisticsToolkit( session );
            FChoice.Toolkits.Clarify.Logistics.GetAlternatePartsSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Logistics.GetAlternatePartsSetup(setupParam.PartNumber, setupParam.PartDomain, setupParam.PartRevision);
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

            if( Global.IsPropertyDirty(1, setupParam.DirtyFieldFlags) )
            {
                setup.PartNumber = setupParam.PartNumber;
            }

            if( Global.IsPropertyDirty(2, setupParam.DirtyFieldFlags) )
            {
                setup.PartDomain = setupParam.PartDomain;
            }

            if( Global.IsPropertyDirty(4, setupParam.DirtyFieldFlags) )
            {
                setup.PartRevision = setupParam.PartRevision;
            }

            return new Protocols.Logistics.GetAlternatePartsResultProtocol( toolkit.GetAlternateParts(setup) );
        }
        public Protocols.Logistics.GetAlternatePartsResultProtocol GetAlternateParts(System.String partNumber, System.String partDomain, System.String partRevision)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Logistics.LogisticsToolkit toolkit = new FChoice.Toolkits.Clarify.Logistics.LogisticsToolkit( session );

            return new Protocols.Logistics.GetAlternatePartsResultProtocol( toolkit.GetAlternateParts(partNumber, partDomain, partRevision) );
        }