public override void update()
        {
            CswNbtMetaDataNodeType ContainerDocumentNT = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Container Document" );
            CswNbtMetaDataObjectClass ContainerOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ContainerClass );
            foreach( CswNbtMetaDataNodeType ContainerNT in ContainerOC.getNodeTypes() )
            {
                CswNbtMetaDataNodeTypeProp DocumentsNTP = ContainerNT.getNodeTypeProp( "Documents" );
                if( null != DocumentsNTP && null != ContainerDocumentNT )
                {
                    CswNbtView ContainerDocsView = _CswNbtSchemaModTrnsctn.restoreView( DocumentsNTP.ViewId );
                    if( null == ContainerDocsView )
                    {
                        ContainerDocsView = _CswNbtSchemaModTrnsctn.makeSafeView( "Documents", CswEnumNbtViewVisibility.Property );
                        ContainerDocsView.ViewMode = CswEnumNbtViewRenderingMode.Grid;
                    }
                    ContainerDocsView.Root.ChildRelationships.Clear();

                    CswNbtMetaDataNodeTypeProp OwnerNTP = ContainerDocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.Owner );
                    CswNbtMetaDataNodeTypeProp ArchivedNTP = ContainerDocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.Archived );
                    CswNbtMetaDataNodeTypeProp FileNTP = ContainerDocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.File );
                    CswNbtMetaDataNodeTypeProp LinkNTP = ContainerDocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.Link );
                    CswNbtMetaDataNodeTypeProp TitleNTP = ContainerDocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.Title );
                    CswNbtMetaDataNodeTypeProp AcquiredDateNTP = ContainerDocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.AcquiredDate );
                    CswNbtMetaDataNodeTypeProp ExpirationDateNTP = ContainerDocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.ExpirationDate );

                    CswNbtViewRelationship RootRel = ContainerDocsView.AddViewRelationship( ContainerNT, false );
                    CswNbtViewRelationship DocRel = ContainerDocsView.AddViewRelationship( RootRel, CswEnumNbtViewPropOwnerType.Second, OwnerNTP, true );
                    ContainerDocsView.AddViewPropertyAndFilter( DocRel, ArchivedNTP, CswEnumTristate.False.ToString(),
                                                        FilterMode: CswEnumNbtFilterMode.Equals,
                                                        ShowAtRuntime: true,
                                                        ShowInGrid: false );
                    ContainerDocsView.AddViewProperty( DocRel, FileNTP, 1 );
                    ContainerDocsView.AddViewProperty( DocRel, LinkNTP, 2 );
                    ContainerDocsView.AddViewProperty( DocRel, TitleNTP, 3 );
                    ContainerDocsView.AddViewProperty( DocRel, AcquiredDateNTP, 4 );
                    ContainerDocsView.AddViewProperty( DocRel, ExpirationDateNTP, 5 );
                    ContainerDocsView.save();
                    DocumentsNTP.ViewId = ContainerDocsView.ViewId;
                }
            }
        } // update()
        /// <summary>
        /// The actual update call
        /// </summary>
        public override void update()
        {
            CswNbtMetaDataObjectClass ReceiptLotOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.ReceiptLotClass);
            //Put Manufacturer on add layout
            CswNbtMetaDataObjectClassProp ManufacturerOCP = ReceiptLotOC.getObjectClassProp(CswNbtObjClassReceiptLot.PropertyName.Manufacturer);

            foreach (CswNbtMetaDataNodeType ReceiptLotNT in ReceiptLotOC.getNodeTypes())
            {
                CswNbtMetaDataNodeTypeProp ManufacturerNTP = ReceiptLotNT.getNodeTypePropByObjectClassProp(ManufacturerOCP);
                ManufacturerNTP.updateLayout(CswEnumNbtLayoutType.Add, false);
            }
            //Add new props to ReceiptLot
            CswNbtMetaDataObjectClassProp ManufacturerLotNoOCP = ReceiptLotOC.getObjectClassProp(CswNbtObjClassReceiptLot.PropertyName.ManufacturerLotNo);

            if (null == ManufacturerLotNoOCP)
            {
                ManufacturerLotNoOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(ReceiptLotOC, new CswNbtWcfMetaDataModel.ObjectClassProp
                {
                    PropName    = CswNbtObjClassReceiptLot.PropertyName.ManufacturerLotNo,
                    FieldType   = CswEnumNbtFieldType.Text,
                    SetValOnAdd = true
                });
            }
            CswNbtMetaDataObjectClassProp ManufacturedDateOCP = ReceiptLotOC.getObjectClassProp(CswNbtObjClassReceiptLot.PropertyName.ManufacturedDate);

            if (null == ManufacturedDateOCP)
            {
                ManufacturedDateOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(ReceiptLotOC, new CswNbtWcfMetaDataModel.ObjectClassProp
                {
                    PropName    = CswNbtObjClassReceiptLot.PropertyName.ManufacturedDate,
                    FieldType   = CswEnumNbtFieldType.DateTime,
                    SetValOnAdd = true
                });
            }
            _CswNbtSchemaModTrnsctn.MetaData.makeMissingNodeTypeProps();
            //Upgrade AssignedCofA to OCP
            CswNbtMetaDataObjectClassProp AssignedCofAOCP = ReceiptLotOC.getObjectClassProp(CswNbtObjClassReceiptLot.PropertyName.AssignedCofA);

            if (null == AssignedCofAOCP)
            {
                AssignedCofAOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(ReceiptLotOC, new CswNbtWcfMetaDataModel.ObjectClassProp
                {
                    PropName  = CswNbtObjClassReceiptLot.PropertyName.AssignedCofA,
                    FieldType = CswEnumNbtFieldType.Grid
                });
                CswNbtView AssignedCofAView = _CswNbtSchemaModTrnsctn.restoreView("Assigned C of A");
                if (null != AssignedCofAView)
                {
                    _CswNbtSchemaModTrnsctn.MetaData.UpdateObjectClassProp(AssignedCofAOCP, CswEnumNbtObjectClassPropAttributes.viewxml, AssignedCofAView.ToString());
                }
            }
            //Remove the ManufacturerLotNo property off Container
            CswNbtMetaDataObjectClass ContainerOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerClass);

            foreach (CswNbtMetaDataNodeType ContainerNT in ContainerOC.getNodeTypes())
            {
                CswNbtMetaDataNodeTypeProp ManufacturerLotNoNTP = ContainerNT.getNodeTypeProp("Manufacturer Lot Number");
                if (null != ManufacturerLotNoNTP)
                {
                    _CswNbtSchemaModTrnsctn.MetaData.DeleteNodeTypeProp(ManufacturerLotNoNTP);
                }
            }
            //Rename "C of A" module to "Manufacturer Lot Info"
            CswTableUpdate ModulesTableUpdate = _CswNbtSchemaModTrnsctn.makeCswTableUpdate("ModulesSelect_29700", "modules");
            DataTable      ModulesTable       = ModulesTableUpdate.getTable("where name = 'C of A'");

            if (ModulesTable.Rows.Count > 0)
            {
                ModulesTable.Rows[0]["name"]        = CswEnumNbtModuleName.ManufacturerLotInfo;
                ModulesTable.Rows[0]["description"] = "Manufacturer Lot Info";
                ModulesTableUpdate.update(ModulesTable);
            }
        }