public Protocols.ToolkitResultProtocol AcceptSolution(System.String solutionIDNum)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.AcceptSolution(solutionIDNum) );
        }
        public Protocols.ToolkitResultProtocol AcceptSolution(Protocols.Interfaces.AcceptSolutionSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.AcceptSolutionSetup setup;

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

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.UserName = setupParam.UserName;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.GenerateTimeBombs = setupParam.GenerateTimeBombs;
            }

            return new Protocols.ToolkitResultProtocol( toolkit.AcceptSolution(setup) );
        }
        public Protocols.ToolkitResultProtocol RemoveSiteFromAccount(Protocols.Interfaces.RemoveSiteFromAccountSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.RemoveSiteFromAccountSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.RemoveSiteFromAccountSetup(setupParam.SiteIDNum, setupParam.AccountIDNum, setupParam.RoleName);
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

            return new Protocols.ToolkitResultProtocol( toolkit.RemoveSiteFromAccount(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateCountry(Protocols.Interfaces.CreateCountrySetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.CreateCountrySetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.CreateCountrySetup(setupParam.Country, setupParam.CountryCode);
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.CurrencySymbol = setupParam.CurrencySymbol;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.CurrencyDescription = setupParam.CurrencyDescription;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.CurrencyConversionRate = setupParam.CurrencyConversionRate;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.CurrencyISOCode = setupParam.CurrencyISOCode;
            }

            return new Protocols.ToolkitResultProtocol( toolkit.CreateCountry(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateContract(Protocols.Interfaces.CreateContractSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.CreateContractSetup setup;

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.PONumber = setupParam.PONumber;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.PayOptions = setupParam.PayOptions;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.PhoneResponseDuration = TimeSpan.FromSeconds(setupParam.PhoneResponseDuration);
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.OnsiteResponseDuration = TimeSpan.FromSeconds(setupParam.OnsiteResponseDuration);
            }

            if( Global.IsPropertyDirty(128, setupParam.DirtyFieldFlags) )
            {
                setup.BusinessHoursForPM = setupParam.BusinessHoursForPM;
            }

            if( Global.IsPropertyDirty(256, setupParam.DirtyFieldFlags) )
            {
                setup.StartDate = setupParam.StartDate;
            }

            if( Global.IsPropertyDirty(512, setupParam.DirtyFieldFlags) )
            {
                setup.ExpireDate = setupParam.ExpireDate;
            }

            if( Global.IsPropertyDirty(1024, setupParam.DirtyFieldFlags) )
            {
                setup.UnitType = setupParam.UnitType;
            }

            if( Global.IsPropertyDirty(2048, setupParam.DirtyFieldFlags) )
            {
                setup.UnitsPurchased = setupParam.UnitsPurchased;
            }

            if( Global.IsPropertyDirty(4096, setupParam.DirtyFieldFlags) )
            {
                setup.UnitsUsed = setupParam.UnitsUsed;
            }

            if( Global.IsPropertyDirty(8192, setupParam.DirtyFieldFlags) )
            {
                setup.UnitsAvailable = setupParam.UnitsAvailable;
            }

            if( Global.IsPropertyDirty(16384, setupParam.DirtyFieldFlags) )
            {
                setup.UseSpecialConsiderations = setupParam.UseSpecialConsiderations;
            }

            if( Global.IsPropertyDirty(32768, setupParam.DirtyFieldFlags) )
            {
                setup.Notes = setupParam.Notes;
            }

            if( Global.IsPropertyDirty(65536, setupParam.DirtyFieldFlags) )
            {
                foreach(Protocols.AdditionalFieldProtocol field in setupParam.AdditionalFields){setup.AdditionalFields.Append( field.FieldName, field.FieldType, field.FieldValue);}
            }

            return new Protocols.ToolkitResultProtocol( toolkit.CreateContract(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateContact(Protocols.Interfaces.CreateContactSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.CreateContactSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.CreateContactSetup(setupParam.FirstName, setupParam.LastName, setupParam.Phone, setupParam.SiteIDNum);
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.SiteIDNum = setupParam.SiteIDNum;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.RoleName = setupParam.RoleName;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.Fax = setupParam.Fax;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.Email = setupParam.Email;
            }

            if( Global.IsPropertyDirty(128, setupParam.DirtyFieldFlags) )
            {
                setup.MailStop = setupParam.MailStop;
            }

            if( Global.IsPropertyDirty(256, setupParam.DirtyFieldFlags) )
            {
                setup.Title = setupParam.Title;
            }

            if( Global.IsPropertyDirty(512, setupParam.DirtyFieldFlags) )
            {
                setup.Hours = setupParam.Hours;
            }

            if( Global.IsPropertyDirty(1024, setupParam.DirtyFieldFlags) )
            {
                setup.Salutation = setupParam.Salutation;
            }

            if( Global.IsPropertyDirty(2048, setupParam.DirtyFieldFlags) )
            {
                foreach(Protocols.AdditionalFieldProtocol field in setupParam.AdditionalFields){setup.AdditionalFields.Append( field.FieldName, field.FieldType, field.FieldValue);}
            }

            return new Protocols.ToolkitResultProtocol( toolkit.CreateContact(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateBOM(Protocols.Interfaces.CreateBOMSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.CreateBOMSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.CreateBOMSetup(setupParam.ParentPartNumber, setupParam.ParentPartDomain, setupParam.ParentPartRevision, setupParam.ChildPartNumber, setupParam.ChildPartDomain, setupParam.ChildPartRevision, setupParam.Quantity);
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.ChildPartNumber = setupParam.ChildPartNumber;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.ChildPartDomain = setupParam.ChildPartDomain;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.ChildPartRevision = setupParam.ChildPartRevision;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.Quantity = setupParam.Quantity;
            }

            return new Protocols.ToolkitResultProtocol( toolkit.CreateBOM(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateAddress(Protocols.Interfaces.CreateAddressSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.CreateAddressSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.CreateAddressSetup(setupParam.Address1, setupParam.City, setupParam.State, setupParam.ZipCode, setupParam.Country, setupParam.TimeZone);
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.State = setupParam.State;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.IsShortState = setupParam.IsShortState;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.ZipCode = setupParam.ZipCode;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.Country = setupParam.Country;
            }

            if( Global.IsPropertyDirty(128, setupParam.DirtyFieldFlags) )
            {
                setup.TimeZone = setupParam.TimeZone;
            }

            if( Global.IsPropertyDirty(256, setupParam.DirtyFieldFlags) )
            {
                foreach(Protocols.AdditionalFieldProtocol field in setupParam.AdditionalFields){setup.AdditionalFields.Append( field.FieldName, field.FieldType, field.FieldValue);}
            }

            return new Protocols.ToolkitResultProtocol( toolkit.CreateAddress(setup) );
        }
        public Protocols.ToolkitResultProtocol AddWorkaround(Protocols.Interfaces.AddWorkaroundSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.AddWorkaroundSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.AddWorkaroundSetup(setupParam.SolutionIDNum, setupParam.Workaround);
                    break;
                case 1:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.AddWorkaroundSetup(setupParam.SolutionObjid, setupParam.Workaround);
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.IsPublic = setupParam.IsPublic;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.CreateDate = setupParam.CreateDate;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.ResolutionCode = setupParam.ResolutionCode;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                foreach(Protocols.AdditionalFieldProtocol field in setupParam.AdditionalFields){setup.AdditionalFields.Append( field.FieldName, field.FieldType, field.FieldValue);}
            }

            return new Protocols.ToolkitResultProtocol( toolkit.AddWorkaround(setup) );
        }
        public Protocols.ToolkitResultProtocol UpdatePartRevision(Protocols.Interfaces.UpdatePartRevisionSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.UpdatePartRevisionSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.UpdatePartRevisionSetup(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;
            }

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.ReplacePartNumber = setupParam.ReplacePartNumber;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.ReplacePartDomain = setupParam.ReplacePartDomain;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.ReplacePartRevision = setupParam.ReplacePartRevision;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.ReplaceDate = setupParam.ReplaceDate;
            }

            if( Global.IsPropertyDirty(128, setupParam.DirtyFieldFlags) )
            {
                setup.Status = setupParam.Status;
            }

            if( Global.IsPropertyDirty(512, setupParam.DirtyFieldFlags) )
            {
                setup.NewPartRevision = setupParam.NewPartRevision;
            }

            return new Protocols.ToolkitResultProtocol( toolkit.UpdatePartRevision(setup) );
        }
        public Protocols.ToolkitResultProtocol UpdatePartRevision(System.String partNumber, System.String partDomain, System.String partRevision)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.UpdatePartRevision(partNumber, partDomain, partRevision) );
        }
        public Protocols.ToolkitResultProtocol AddWorkaround(System.Int32 solutionObjid, System.String workaround)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.AddWorkaround(solutionObjid, workaround) );
        }
        public Protocols.ToolkitResultProtocol UpdatePart(Protocols.Interfaces.UpdatePartSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.UpdatePartSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.UpdatePartSetup(setupParam.PartNumber, setupParam.PartDomain, setupParam.WarrantyDays);
                    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.Notes = setupParam.Notes;
            }

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.Description = setupParam.Description;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.ModelNumber = setupParam.ModelNumber;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.WarrantyDays = setupParam.WarrantyDays;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.WarrantyStartOnShipment = setupParam.WarrantyStartOnShipment;
            }

            if( Global.IsPropertyDirty(128, setupParam.DirtyFieldFlags) )
            {
                setup.UnitMeasure = setupParam.UnitMeasure;
            }

            if( Global.IsPropertyDirty(256, setupParam.DirtyFieldFlags) )
            {
                setup.Family = setupParam.Family;
            }

            if( Global.IsPropertyDirty(512, setupParam.DirtyFieldFlags) )
            {
                setup.Line = setupParam.Line;
            }

            if( Global.IsPropertyDirty(1024, setupParam.DirtyFieldFlags) )
            {
                setup.RepairType = setupParam.RepairType;
            }

            if( Global.IsPropertyDirty(2048, setupParam.DirtyFieldFlags) )
            {
                setup.PartType = setupParam.PartType;
            }

            if( Global.IsPropertyDirty(4096, setupParam.DirtyFieldFlags) )
            {
                setup.Weight = setupParam.Weight;
            }

            if( Global.IsPropertyDirty(8192, setupParam.DirtyFieldFlags) )
            {
                setup.Dimension = setupParam.Dimension;
            }

            if( Global.IsPropertyDirty(16384, setupParam.DirtyFieldFlags) )
            {
                setup.PartClass = setupParam.PartClass;
            }

            if( Global.IsPropertyDirty(32768, setupParam.DirtyFieldFlags) )
            {
                foreach(Protocols.AdditionalFieldProtocol field in setupParam.AdditionalFields){setup.AdditionalFields.Append( field.FieldName, field.FieldType, field.FieldValue);}
            }

            return new Protocols.ToolkitResultProtocol( toolkit.UpdatePart(setup) );
        }
        public Protocols.ToolkitResultProtocol AddUserToQueue(Protocols.Interfaces.AddUserToQueueSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.AddUserToQueueSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.AddUserToQueueSetup(setupParam.Queue, setupParam.UserName);
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

            return new Protocols.ToolkitResultProtocol( toolkit.AddUserToQueue(setup) );
        }
        public Protocols.ToolkitResultProtocol UnlinkCaseFromWorkaround(System.String caseIDNum)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.UnlinkCaseFromWorkaround(caseIDNum) );
        }
        public Protocols.ToolkitResultProtocol UpdateWipBin(Protocols.Interfaces.UpdateWipBinSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.UpdateWipBinSetup setup;

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

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.UserName = setupParam.UserName;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.IsDefaultBin = setupParam.IsDefaultBin;
            }

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateWipBin(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateAccount(Protocols.Interfaces.CreateAccountSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.CreateAccountSetup setup;

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

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.Stock = setupParam.Stock;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.FiscalYear = setupParam.FiscalYear;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.AccountType = setupParam.AccountType;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.Size = setupParam.Size;
            }

            if( Global.IsPropertyDirty(128, setupParam.DirtyFieldFlags) )
            {
                setup.Revenue = setupParam.Revenue;
            }

            if( Global.IsPropertyDirty(256, setupParam.DirtyFieldFlags) )
            {
                setup.Ownership = setupParam.Ownership;
            }

            if( Global.IsPropertyDirty(512, setupParam.DirtyFieldFlags) )
            {
                setup.Phone = setupParam.Phone;
            }

            if( Global.IsPropertyDirty(1024, setupParam.DirtyFieldFlags) )
            {
                setup.Fax = setupParam.Fax;
            }

            if( Global.IsPropertyDirty(2048, setupParam.DirtyFieldFlags) )
            {
                setup.WebSite = setupParam.WebSite;
            }

            if( Global.IsPropertyDirty(4096, setupParam.DirtyFieldFlags) )
            {
                setup.UserName = setupParam.UserName;
            }

            if( Global.IsPropertyDirty(8192, setupParam.DirtyFieldFlags) )
            {
                setup.CreateDate = setupParam.CreateDate;
            }

            if( Global.IsPropertyDirty(16384, setupParam.DirtyFieldFlags) )
            {
                setup.GenerateTimeBombs = setupParam.GenerateTimeBombs;
            }

            if( Global.IsPropertyDirty(65536, setupParam.DirtyFieldFlags) )
            {
                foreach(Protocols.AdditionalFieldProtocol field in setupParam.AdditionalFields){setup.AdditionalFields.Append( field.FieldName, field.FieldType, field.FieldValue);}
            }

            return new Protocols.ToolkitResultProtocol( toolkit.CreateAccount(setup) );
        }
        public Protocols.ToolkitResultProtocol UpdatePriceInstance(System.String partNumber, System.String partDomain, System.String partRevision, System.String priceProgram, System.Int32 pricedQuantity, System.Decimal price, System.DateTime updateDate)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.UpdatePriceInstance(partNumber, partDomain, partRevision, priceProgram, pricedQuantity, price, updateDate) );
        }
        public Protocols.ToolkitResultProtocol CreateAddress(System.String address1, System.String city, System.String state, System.String zipCode, System.String country, System.String timeZone)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateAddress(address1, city, state, zipCode, country, timeZone) );
        }
        public Protocols.ToolkitResultProtocol UpdateProductBin(Protocols.Interfaces.UpdateProductBinSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.UpdateProductBinSetup setup;

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

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.PrimarySupportEmployeeObjid = setupParam.PrimarySupportEmployeeObjid;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.SecondarySupportEmployeeObjid = setupParam.SecondarySupportEmployeeObjid;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.UserName = setupParam.UserName;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.UpdateDate = setupParam.UpdateDate;
            }

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateProductBin(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateBOM(System.String parentPartNumber, System.String parentPartDomain, System.String parentPartRevision, System.String childPartNumber, System.String childPartDomain, System.String childPartRevision, System.Int32 quantity)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateBOM(parentPartNumber, parentPartDomain, parentPartRevision, childPartNumber, childPartDomain, childPartRevision, quantity) );
        }
        public Protocols.ToolkitResultProtocol UpdateQueue(Protocols.Interfaces.UpdateQueueSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.UpdateQueueSetup setup;

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

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.AllowCR = setupParam.AllowCR;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.AllowCase = setupParam.AllowCase;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.AllowContract = setupParam.AllowContract;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.AllowDialogue = setupParam.AllowDialogue;
            }

            if( Global.IsPropertyDirty(128, setupParam.DirtyFieldFlags) )
            {
                setup.AllowDemandDetail = setupParam.AllowDemandDetail;
            }

            if( Global.IsPropertyDirty(256, setupParam.DirtyFieldFlags) )
            {
                setup.AllowJob = setupParam.AllowJob;
            }

            if( Global.IsPropertyDirty(512, setupParam.DirtyFieldFlags) )
            {
                setup.AllowOpportunity = setupParam.AllowOpportunity;
            }

            if( Global.IsPropertyDirty(1024, setupParam.DirtyFieldFlags) )
            {
                setup.AllowSolution = setupParam.AllowSolution;
            }

            if( Global.IsPropertyDirty(2048, setupParam.DirtyFieldFlags) )
            {
                setup.AllowSubcase = setupParam.AllowSubcase;
            }

            if( Global.IsPropertyDirty(4096, setupParam.DirtyFieldFlags) )
            {
                setup.AllowActionItem = setupParam.AllowActionItem;
            }

            if( Global.IsPropertyDirty(8192, setupParam.DirtyFieldFlags) )
            {
                setup.Supervisor = setupParam.Supervisor;
            }

            if( Global.IsPropertyDirty(16384, setupParam.DirtyFieldFlags) )
            {
                setup.NewTitle = setupParam.NewTitle;
            }

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateQueue(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateContact(System.String firstName, System.String lastName, System.String phone, System.String siteIDNum)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateContact(firstName, lastName, phone, siteIDNum) );
        }
        public Protocols.ToolkitResultProtocol UpdateSiteByObjid(Protocols.Interfaces.UpdateSiteByObjidSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.UpdateSiteByObjidSetup setup;

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.SiteType = setupParam.SiteType;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.AccountIDNum = setupParam.AccountIDNum;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.Status = setupParam.Status;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.Region = setupParam.Region;
            }

            if( Global.IsPropertyDirty(128, setupParam.DirtyFieldFlags) )
            {
                setup.District = setupParam.District;
            }

            if( Global.IsPropertyDirty(256, setupParam.DirtyFieldFlags) )
            {
                setup.IndustryType = setupParam.IndustryType;
            }

            if( Global.IsPropertyDirty(512, setupParam.DirtyFieldFlags) )
            {
                setup.PrimaryUse = setupParam.PrimaryUse;
            }

            if( Global.IsPropertyDirty(1024, setupParam.DirtyFieldFlags) )
            {
                setup.PrimaryAddressObjid = setupParam.PrimaryAddressObjid;
            }

            if( Global.IsPropertyDirty(2048, setupParam.DirtyFieldFlags) )
            {
                setup.ShippingAddressObjid = setupParam.ShippingAddressObjid;
            }

            if( Global.IsPropertyDirty(4096, setupParam.DirtyFieldFlags) )
            {
                setup.BillingAddressObjid = setupParam.BillingAddressObjid;
            }

            if( Global.IsPropertyDirty(8192, setupParam.DirtyFieldFlags) )
            {
                setup.ParentSiteIDNum = setupParam.ParentSiteIDNum;
            }

            if( Global.IsPropertyDirty(16384, setupParam.DirtyFieldFlags) )
            {
                setup.SupportOfficeSiteIDNum = setupParam.SupportOfficeSiteIDNum;
            }

            if( Global.IsPropertyDirty(32768, setupParam.DirtyFieldFlags) )
            {
                setup.PrimarySupportEmployeeObjid = setupParam.PrimarySupportEmployeeObjid;
            }

            if( Global.IsPropertyDirty(65536, setupParam.DirtyFieldFlags) )
            {
                setup.SecondarySupportEmployeeObjid = setupParam.SecondarySupportEmployeeObjid;
            }

            if( Global.IsPropertyDirty(131072, setupParam.DirtyFieldFlags) )
            {
                foreach(Protocols.AdditionalFieldProtocol field in setupParam.AdditionalFields){setup.AdditionalFields.Append( field.FieldName, field.FieldType, field.FieldValue);}
            }

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateSiteByObjid(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateContract()
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateContract() );
        }
        public Protocols.ToolkitResultProtocol UpdateSitePart(System.Int32 sitePartObjid, System.String serialNumber)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateSitePart(sitePartObjid, serialNumber) );
        }
        public Protocols.ToolkitResultProtocol CreateCountry(System.String country, System.Int32 countryCode)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateCountry(country, countryCode) );
        }
        public Protocols.ToolkitResultProtocol UpdateSitePart(Protocols.Interfaces.UpdateSitePartSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );
            FChoice.Toolkits.Clarify.Interfaces.UpdateSitePartSetup setup;

            switch( setupParam.ConstructorCue )
            {
                case 0:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.UpdateSitePartSetup(setupParam.SitePartObjid, setupParam.Quantity);
                    break;
                case 1:
                    setup = new FChoice.Toolkits.Clarify.Interfaces.UpdateSitePartSetup(setupParam.SitePartObjid, setupParam.SerialNumber);
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

            if( Global.IsPropertyDirty(8, setupParam.DirtyFieldFlags) )
            {
                setup.InvoiceNumber = setupParam.InvoiceNumber;
            }

            if( Global.IsPropertyDirty(16, setupParam.DirtyFieldFlags) )
            {
                setup.ShipDate = setupParam.ShipDate;
            }

            if( Global.IsPropertyDirty(32, setupParam.DirtyFieldFlags) )
            {
                setup.InstallDate = setupParam.InstallDate;
            }

            if( Global.IsPropertyDirty(64, setupParam.DirtyFieldFlags) )
            {
                setup.WarrantyDate = setupParam.WarrantyDate;
            }

            if( Global.IsPropertyDirty(128, setupParam.DirtyFieldFlags) )
            {
                setup.Quantity = setupParam.Quantity;
            }

            if( Global.IsPropertyDirty(256, setupParam.DirtyFieldFlags) )
            {
                setup.PartStatus = setupParam.PartStatus;
            }

            if( Global.IsPropertyDirty(512, setupParam.DirtyFieldFlags) )
            {
                setup.Comments = setupParam.Comments;
            }

            if( Global.IsPropertyDirty(1024, setupParam.DirtyFieldFlags) )
            {
                setup.ServiceEndDate = setupParam.ServiceEndDate;
            }

            if( Global.IsPropertyDirty(2048, setupParam.DirtyFieldFlags) )
            {
                setup.UserName = setupParam.UserName;
            }

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

            if( Global.IsPropertyDirty(8192, setupParam.DirtyFieldFlags) )
            {
                setup.AddActivityLog = setupParam.AddActivityLog;
            }

            if( Global.IsPropertyDirty(16384, setupParam.DirtyFieldFlags) )
            {
                foreach(Protocols.AdditionalFieldProtocol field in setupParam.AdditionalFields){setup.AdditionalFields.Append( field.FieldName, field.FieldType, field.FieldValue);}
            }

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateSitePart(setup) );
        }
        public Protocols.ToolkitResultProtocol AddContactToContract(System.String contractIDNum, System.String contactFirstName, System.String contactLastName, System.String contactPhone, System.String siteIDNum)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.AddContactToContract(contractIDNum, contactFirstName, contactLastName, contactPhone, siteIDNum) );
        }
        public Protocols.ToolkitResultProtocol RemoveSiteFromAccount(System.String siteIDNum, System.String accountIDNum, System.String roleName)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit toolkit = new FChoice.Toolkits.Clarify.Interfaces.InterfacesToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.RemoveSiteFromAccount(siteIDNum, accountIDNum, roleName) );
        }