public Protocols.ToolkitResultProtocol ApplyEco(System.Int32 demandDetailObjid, System.String ecoHeaderIDNum)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.ApplyEco(demandDetailObjid, ecoHeaderIDNum) );
        }
        public Protocols.ToolkitResultProtocol DeleteEcoItem(Protocols.DepotRepair.DeleteEcoItemSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);
            FChoice.Toolkits.Clarify.DepotRepair.DeleteEcoItemSetup setup;

            switch (setupParam.ConstructorCue)
            {
            case 0:
                setup = new FChoice.Toolkits.Clarify.DepotRepair.DeleteEcoItemSetup(setupParam.EcoItemObjid);
                break;

            default:
                throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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


            return(new Protocols.ToolkitResultProtocol(toolkit.DeleteEcoItem(setup)));
        }
        public Protocols.ToolkitResultProtocol UpdateEcoMaterialDetail(Protocols.DepotRepair.UpdateEcoMaterialDetailSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit           toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);
            FChoice.Toolkits.Clarify.DepotRepair.UpdateEcoMaterialDetailSetup setup;

            switch (setupParam.ConstructorCue)
            {
            case 0:
                setup = new FChoice.Toolkits.Clarify.DepotRepair.UpdateEcoMaterialDetailSetup(setupParam.EcoDetailObjid, setupParam.PartRevisionObjid);
                break;

            default:
                throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

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

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

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

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

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


            return(new Protocols.ToolkitResultProtocol(toolkit.UpdateEcoMaterialDetail(setup)));
        }
        public Protocols.ToolkitResultProtocol CreateEcoHeader(Protocols.DepotRepair.CreateEcoHeaderSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit   toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);
            FChoice.Toolkits.Clarify.DepotRepair.CreateEcoHeaderSetup setup;

            switch (setupParam.ConstructorCue)
            {
            case 0:
                setup = new FChoice.Toolkits.Clarify.DepotRepair.CreateEcoHeaderSetup(setupParam.StartDate, setupParam.EndDate);
                break;

            default:
                throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

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

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

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

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

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


            return(new Protocols.ToolkitResultProtocol(toolkit.CreateEcoHeader(setup)));
        }
        public Protocols.ToolkitResultProtocol UpdateDepotRepairMaterial(System.Int32 materialLogObjid, FChoice.Toolkits.Clarify.RepairPartDisposition disposition)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.UpdateDepotRepairMaterial(materialLogObjid, disposition)));
        }
        public Protocols.ToolkitResultProtocol DeleteEcoItem(System.Int32 ecoItemObjid)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.DeleteEcoItem(ecoItemObjid)));
        }
        public Protocols.ToolkitResultProtocol CreateEcoLaborDetail(System.Boolean isRequired, System.Int32 elapsedTime, System.String ecoHeaderIDNum)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.CreateEcoLaborDetail(isRequired, TimeSpan.FromSeconds(elapsedTime), ecoHeaderIDNum)));
        }
        public Protocols.ToolkitResultProtocol CreateEcoMaterialDetail(System.Boolean isRequired, System.String ecoHeaderIDNum, System.Int32 partRevisionObjid)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.CreateEcoMaterialDetail(isRequired, ecoHeaderIDNum, partRevisionObjid)));
        }
        public Protocols.ToolkitResultProtocol UpdateEcoMaterialDetail(System.Int32 ecoDetailObjid, System.Int32 partRevisionObjid)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.UpdateEcoMaterialDetail(ecoDetailObjid, partRevisionObjid)));
        }
        public Protocols.ToolkitResultProtocol CreateDepotRepairLabor(System.Int32 demandDetailObjid, System.DateTime startDate, System.Int32 duration)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.CreateDepotRepairLabor(demandDetailObjid, startDate, TimeSpan.FromSeconds(duration))));
        }
        public Protocols.ToolkitResultProtocol CreateDepotRepairMaterial(System.Int32 demandDetailObjid, System.Int32 partRevisionObjid, FChoice.Toolkits.Clarify.RepairPartDisposition disposition)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.CreateDepotRepairMaterial(demandDetailObjid, partRevisionObjid, disposition)));
        }
        public Protocols.ToolkitResultProtocol ApplyEco(System.Int32 demandDetailObjid, System.String ecoHeaderIDNum)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.ApplyEco(demandDetailObjid, ecoHeaderIDNum)));
        }
        public Protocols.ToolkitResultProtocol UpdateEcoItem(System.Int32 ecoItemObjid, System.Boolean isActive, System.String ecoHeaderIDNum)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.UpdateEcoItem(ecoItemObjid, isActive, ecoHeaderIDNum)));
        }
        public Protocols.ToolkitResultProtocol CreateEcoItem(FChoice.Toolkits.Clarify.EcoItemAppliesTo appliesTo, System.Boolean isActive, System.String ecoHeaderIDNum, System.Int32 applyPartRevisionObjid, System.Int32 resultPartRevisionObjid)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.CreateEcoItem(appliesTo, isActive, ecoHeaderIDNum, applyPartRevisionObjid, resultPartRevisionObjid)));
        }
        public Protocols.ToolkitResultProtocol CreateEcoHeader(System.DateTime startDate, System.DateTime endDate)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);

            return(new Protocols.ToolkitResultProtocol(toolkit.CreateEcoHeader(startDate, endDate)));
        }
        public Protocols.ToolkitResultProtocol UpdateEcoItem(Protocols.DepotRepair.UpdateEcoItemSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);
            FChoice.Toolkits.Clarify.DepotRepair.UpdateEcoItemSetup setup;

            switch (setupParam.ConstructorCue)
            {
            case 0:
                setup = new FChoice.Toolkits.Clarify.DepotRepair.UpdateEcoItemSetup(setupParam.EcoItemObjid, setupParam.IsActive, setupParam.EcoHeaderIDNum);
                break;

            default:
                throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

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

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

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


            return(new Protocols.ToolkitResultProtocol(toolkit.UpdateEcoItem(setup)));
        }
        public Protocols.ToolkitResultProtocol ApplyEco(Protocols.DepotRepair.ApplyEcoSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);
            FChoice.Toolkits.Clarify.DepotRepair.ApplyEcoSetup      setup;

            switch (setupParam.ConstructorCue)
            {
            case 0:
                setup = new FChoice.Toolkits.Clarify.DepotRepair.ApplyEcoSetup(setupParam.DemandDetailObjid, setupParam.EcoHeaderIDNum);
                break;

            default:
                throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

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


            return(new Protocols.ToolkitResultProtocol(toolkit.ApplyEco(setup)));
        }
        public Protocols.ToolkitResultProtocol ApplyEco(Protocols.DepotRepair.ApplyEcoSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );
            FChoice.Toolkits.Clarify.DepotRepair.ApplyEcoSetup setup;

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

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

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

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

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

            return new Protocols.ToolkitResultProtocol( toolkit.ApplyEco(setup) );
        }
        public Protocols.ToolkitResultProtocol UpdateEcoItem(System.Int32 ecoItemObjid, System.Boolean isActive, System.String ecoHeaderIDNum)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateEcoItem(ecoItemObjid, isActive, ecoHeaderIDNum) );
        }
        public Protocols.ToolkitResultProtocol UpdateDepotRepairMaterial(Protocols.DepotRepair.UpdateDepotRepairMaterialSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );
            FChoice.Toolkits.Clarify.DepotRepair.UpdateDepotRepairMaterialSetup setup;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateDepotRepairMaterial(setup) );
        }
        public Protocols.ToolkitResultProtocol UpdateDepotRepairMaterial(System.Int32 materialLogObjid, FChoice.Toolkits.Clarify.RepairPartDisposition disposition)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateDepotRepairMaterial(materialLogObjid, disposition) );
        }
        public Protocols.ToolkitResultProtocol UpdateDepotRepairLabor(Protocols.DepotRepair.UpdateDepotRepairLaborSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );
            FChoice.Toolkits.Clarify.DepotRepair.UpdateDepotRepairLaborSetup setup;

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

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

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

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

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

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

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

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

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

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

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

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateDepotRepairLabor(setup) );
        }
        public Protocols.ToolkitResultProtocol DeleteEcoItem(Protocols.DepotRepair.DeleteEcoItemSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );
            FChoice.Toolkits.Clarify.DepotRepair.DeleteEcoItemSetup setup;

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

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

            return new Protocols.ToolkitResultProtocol( toolkit.DeleteEcoItem(setup) );
        }
        public Protocols.ToolkitResultProtocol DeleteEcoItem(System.Int32 ecoItemObjid)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.DeleteEcoItem(ecoItemObjid) );
        }
        public Protocols.ToolkitResultProtocol CreateEcoMaterialDetail(System.Boolean isRequired, System.String ecoHeaderIDNum, System.Int32 partRevisionObjid)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateEcoMaterialDetail(isRequired, ecoHeaderIDNum, partRevisionObjid) );
        }
        public Protocols.ToolkitResultProtocol CreateEcoLaborDetail(System.Boolean isRequired, System.Int32 elapsedTime, System.String ecoHeaderIDNum)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateEcoLaborDetail(isRequired, TimeSpan.FromSeconds(elapsedTime), ecoHeaderIDNum) );
        }
        public Protocols.ToolkitResultProtocol UpdateEcoItem(Protocols.DepotRepair.UpdateEcoItemSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );
            FChoice.Toolkits.Clarify.DepotRepair.UpdateEcoItemSetup setup;

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

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

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

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

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

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

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

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateEcoItem(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateEcoItem(FChoice.Toolkits.Clarify.EcoItemAppliesTo appliesTo, System.Boolean isActive, System.String ecoHeaderIDNum, System.Int32 applyPartRevisionObjid, System.Int32 resultPartRevisionObjid)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateEcoItem(appliesTo, isActive, ecoHeaderIDNum, applyPartRevisionObjid, resultPartRevisionObjid) );
        }
        public Protocols.ToolkitResultProtocol CreateEcoHeader(Protocols.DepotRepair.CreateEcoHeaderSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );
            FChoice.Toolkits.Clarify.DepotRepair.CreateEcoHeaderSetup setup;

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

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

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

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

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

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

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

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

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

            return new Protocols.ToolkitResultProtocol( toolkit.CreateEcoHeader(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateEcoHeader(System.DateTime startDate, System.DateTime endDate)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateEcoHeader(startDate, endDate) );
        }
        public Protocols.ToolkitResultProtocol CreateDepotRepairLabor(Protocols.DepotRepair.CreateDepotRepairLaborSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit          toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);
            FChoice.Toolkits.Clarify.DepotRepair.CreateDepotRepairLaborSetup setup;

            switch (setupParam.ConstructorCue)
            {
            case 0:
                setup = new FChoice.Toolkits.Clarify.DepotRepair.CreateDepotRepairLaborSetup(setupParam.DemandDetailObjid, setupParam.StartDate, TimeSpan.FromSeconds(setupParam.Duration));
                break;

            default:
                throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

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

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

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

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

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

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

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


            return(new Protocols.ToolkitResultProtocol(toolkit.CreateDepotRepairLabor(setup)));
        }
        public Protocols.ToolkitResultProtocol UpdateEcoMaterialDetail(System.Int32 ecoDetailObjid, System.Int32 partRevisionObjid)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateEcoMaterialDetail(ecoDetailObjid, partRevisionObjid) );
        }
        public Protocols.ToolkitResultProtocol CreateDepotRepairLabor(System.Int32 demandDetailObjid, System.DateTime startDate, System.Int32 duration)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateDepotRepairLabor(demandDetailObjid, startDate, TimeSpan.FromSeconds(duration)) );
        }
        public Protocols.ToolkitResultProtocol UpdateDepotRepairMaterial(Protocols.DepotRepair.UpdateDepotRepairMaterialSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession(AuthHeader);

            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit             toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit(session);
            FChoice.Toolkits.Clarify.DepotRepair.UpdateDepotRepairMaterialSetup setup;

            switch (setupParam.ConstructorCue)
            {
            case 0:
                setup = new FChoice.Toolkits.Clarify.DepotRepair.UpdateDepotRepairMaterialSetup(setupParam.MaterialLogObjid, setupParam.Disposition);
                break;

            default:
                throw new InvalidOperationException(string.Format("Constructor index '{0}' does not exist.", setupParam.ConstructorCue));
            }

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

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

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

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

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

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

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

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

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

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

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

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

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


            return(new Protocols.ToolkitResultProtocol(toolkit.UpdateDepotRepairMaterial(setup)));
        }
        public Protocols.ToolkitResultProtocol UpdateEcoMaterialDetail(Protocols.DepotRepair.UpdateEcoMaterialDetailSetupProtocol setupParam)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );
            FChoice.Toolkits.Clarify.DepotRepair.UpdateEcoMaterialDetailSetup setup;

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

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

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

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

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

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

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

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

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

            return new Protocols.ToolkitResultProtocol( toolkit.UpdateEcoMaterialDetail(setup) );
        }
        public Protocols.ToolkitResultProtocol CreateDepotRepairMaterial(System.Int32 demandDetailObjid, System.Int32 partRevisionObjid, FChoice.Toolkits.Clarify.RepairPartDisposition disposition)
        {
            ClarifySession session = Global.GetSession( AuthHeader );
            FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit toolkit = new FChoice.Toolkits.Clarify.DepotRepair.DepotRepairToolkit( session );

            return new Protocols.ToolkitResultProtocol( toolkit.CreateDepotRepairMaterial(demandDetailObjid, partRevisionObjid, disposition) );
        }