public override void update() { #region NodeTypes CswNbtMetaDataNodeType ReportGroupPermNT = _createPermissionNT( CswEnumNbtObjectClass.ReportGroupPermissionClass, "Report Group Permission" ); CswNbtMetaDataNodeType MailReportGroupPermNT = _createPermissionNT( CswEnumNbtObjectClass.MailReportGroupPermissionClass, "Mail Report Group Permission" ); CswNbtMetaDataNodeType ReportGroupNT = _createGroupNT( CswEnumNbtObjectClass.ReportGroupClass, "Report Group", CswNbtObjClassReportGroup.PropertyName.Reports ); CswNbtMetaDataNodeType MailReportGroupNT = _createGroupNT( CswEnumNbtObjectClass.MailReportGroupClass, "Mail Report Group", CswNbtObjClassMailReportGroup.PropertyName.MailReports ); CswNbtMetaDataObjectClass InvGrpPermOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.InventoryGroupPermissionClass ); _CswNbtSchemaModTrnsctn.MetaData.makeMissingNodeTypeProps();//For some reason this is needed here or else the following code will throw an ORNI on a full master reset foreach( CswNbtMetaDataNodeType InvGrpPermNT in InvGrpPermOC.getNodeTypes() ) { _setPermissionPropFilters( InvGrpPermNT ); } #endregion NodeTypes #region Permission Group Nodes CswNbtObjClassReportGroup DefaultReportGroup = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( ReportGroupNT.NodeTypeId, CswEnumNbtMakeNodeOperation.MakeTemp ); DefaultReportGroup.Name.Text = "Default Report Group"; DefaultReportGroup.IsTemp = false; DefaultReportGroup.postChanges( false ); CswNbtMetaDataObjectClass ReportOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ReportClass ); foreach( CswNbtObjClassReport ReportNode in ReportOC.getNodes( false, false ) ) { ReportNode.ReportGroup.RelatedNodeId = DefaultReportGroup.NodeId; ReportNode.postChanges( false ); } CswNbtObjClassMailReportGroup DefaultMailReportGroup = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( MailReportGroupNT.NodeTypeId, CswEnumNbtMakeNodeOperation.MakeTemp ); DefaultMailReportGroup.Name.Text = "Default Mail Report Group"; DefaultMailReportGroup.IsTemp = false; DefaultMailReportGroup.postChanges( false ); CswNbtMetaDataObjectClass MailReportOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.MailReportClass ); foreach( CswNbtObjClassMailReport MailReportNode in MailReportOC.getNodes( false, false ) ) { MailReportNode.MailReportGroup.RelatedNodeId = DefaultMailReportGroup.NodeId; MailReportNode.postChanges( false ); } #endregion Permission Group Nodes #region Inventory Group Permission Nodes CswNbtMetaDataNodeType InventoryGroupNT = InvGrpPermOC.FirstNodeType; if( null != InventoryGroupNT ) { CswNbtMetaDataNodeTypeProp PermissionGroupNTP = InventoryGroupNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetPermission.PropertyName.PermissionGroup ); if( null != PermissionGroupNTP ) { PermissionGroupNTP.PropName = CswNbtPropertySetPermission.PropertyName.PermissionGroup; } } foreach( CswNbtObjClassInventoryGroupPermission InvGrpPermNode in InvGrpPermOC.getNodes( false, false ) ) { InvGrpPermNode.ApplyToAllWorkUnits.Checked = CswEnumTristate.False; InvGrpPermNode.ApplyToAllRoles.Checked = CswEnumTristate.False; InvGrpPermNode.PermissionGroup.RefreshNodeName(); InvGrpPermNode.postChanges( false ); } CswNbtMetaDataObjectClass InvGrpOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.InventoryGroupClass ); foreach( CswNbtObjClassInventoryGroup InvGrpNode in InvGrpOC.getNodes( false, false ) ) { if( InvGrpNode.Name.Text == "Default Inventory Group" && null != InventoryGroupNT ) { CswNbtObjClassInventoryGroupPermission WildCardInventoryGroupPermission = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( InventoryGroupNT.NodeTypeId, CswEnumNbtMakeNodeOperation.DoNothing ); WildCardInventoryGroupPermission.ApplyToAllRoles.Checked = CswEnumTristate.True; WildCardInventoryGroupPermission.ApplyToAllWorkUnits.Checked = CswEnumTristate.True; WildCardInventoryGroupPermission.PermissionGroup.RelatedNodeId = InvGrpNode.NodeId; WildCardInventoryGroupPermission.View.Checked = CswEnumTristate.True; WildCardInventoryGroupPermission.Edit.Checked = CswEnumTristate.True; WildCardInventoryGroupPermission.Dispense.Checked = CswEnumTristate.False; WildCardInventoryGroupPermission.Dispose.Checked = CswEnumTristate.False; WildCardInventoryGroupPermission.Request.Checked = CswEnumTristate.False; WildCardInventoryGroupPermission.Undispose.Checked = CswEnumTristate.False; WildCardInventoryGroupPermission.WorkUnit.RelatedNodeId = null; WildCardInventoryGroupPermission.WorkUnit.RefreshNodeName(); WildCardInventoryGroupPermission.WorkUnit.SyncGestalt(); WildCardInventoryGroupPermission.postChanges( false ); } } //This is now being handled as part of creating the Default Group nodes /*CswNbtObjClassReportGroupPermission WildCardReportGroupPermission = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( ReportGroupPermNT.NodeTypeId, CswEnumNbtMakeNodeOperation.DoNothing ); WildCardReportGroupPermission.ApplyToAllRoles.Checked = CswEnumTristate.True; WildCardReportGroupPermission.ApplyToAllWorkUnits.Checked = CswEnumTristate.True; WildCardReportGroupPermission.PermissionGroup.RelatedNodeId = DefaultReportGroup.NodeId; WildCardReportGroupPermission.View.Checked = CswEnumTristate.True; WildCardReportGroupPermission.Edit.Checked = CswEnumTristate.True; WildCardReportGroupPermission.postChanges( false ); CswNbtObjClassMailReportGroupPermission WildCardMailReportGroupPermission = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( MailReportGroupPermNT.NodeTypeId, CswEnumNbtMakeNodeOperation.DoNothing ); WildCardMailReportGroupPermission.ApplyToAllRoles.Checked = CswEnumTristate.True; WildCardMailReportGroupPermission.ApplyToAllWorkUnits.Checked = CswEnumTristate.True; WildCardMailReportGroupPermission.PermissionGroup.RelatedNodeId = DefaultMailReportGroup.NodeId; WildCardMailReportGroupPermission.View.Checked = CswEnumTristate.True; WildCardMailReportGroupPermission.Edit.Checked = CswEnumTristate.True; WildCardMailReportGroupPermission.postChanges( false );*/ #endregion Inventory Group Permission Nodes } // update()
public override void update() { CswNbtMetaDataObjectClass MailReportGroupOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.MailReportGroupClass); CswNbtObjClassMailReportGroup DemoMailReports = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId(MailReportGroupOC.FirstNodeType.NodeTypeId, delegate(CswNbtNode NewNode) { CswNbtObjClassMailReportGroup DemoMailReportNode = NewNode; DemoMailReportNode.IsDemo = true; DemoMailReportNode.Name.Text = "Demo Mail Reports"; }); CswNbtMetaDataObjectClass MailReportOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.MailReportClass); foreach (CswNbtObjClassMailReport MailReportNode in MailReportOC.getNodes(false, false, false, true)) { if (MailReportNode.IsDemo) { MailReportNode.MailReportGroup.RelatedNodeId = DemoMailReports.NodeId; MailReportNode.postChanges(false); } } CswNbtMetaDataObjectClass MailReportGroupPermissionOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.MailReportGroupPermissionClass); CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.RoleClass); foreach (CswNbtObjClassRole RoleNode in RoleOC.getNodes(false, false, false, true)) { if (RoleNode.Administrator.Checked == CswEnumTristate.True) { CswNbtObjClassMailReportGroupPermission DemoMailReportGroupPerm = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId(MailReportGroupPermissionOC.FirstNodeType.NodeTypeId, delegate(CswNbtNode NewNode) { CswNbtObjClassMailReportGroupPermission DemoMailReportPermNode = NewNode; DemoMailReportPermNode.Role.RelatedNodeId = RoleNode.NodeId; DemoMailReportPermNode.ApplyToAllWorkUnits.Checked = CswEnumTristate.True; DemoMailReportPermNode.PermissionGroup.RelatedNodeId = DemoMailReports.NodeId; DemoMailReportPermNode.View.Checked = CswEnumTristate.True; DemoMailReportPermNode.Edit.Checked = CswEnumTristate.True; }); } } CswNbtObjClassMailReportGroup DefaultMailReportGroup = null; foreach (CswNbtObjClassMailReportGroup MailReportGroupNode in MailReportGroupOC.getNodes(false, false, false, true)) { if (MailReportGroupNode.Name.Text == "Default Mail Report Group") { DefaultMailReportGroup = MailReportGroupNode; } } CswNbtView MyExpiringContainersView = _CswNbtSchemaModTrnsctn.restoreView("My Expiring Containers"); if (null != MyExpiringContainersView && null != DefaultMailReportGroup) { CswNbtObjClassMailReport MyExpiringContainersReport = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId(MailReportOC.FirstNodeType.NodeTypeId, delegate(CswNbtNode NewNode) { CswNbtObjClassMailReport MyExpiringContainersReportNode = NewNode; MyExpiringContainersReportNode.Name.Text = "My Expiring Containers"; MyExpiringContainersReportNode.Type.Value = CswNbtObjClassMailReport.TypeOptionView; MyExpiringContainersReportNode.Event.Value = "Edit"; MyExpiringContainersReportNode.MailReportGroup.RelatedNodeId = DefaultMailReportGroup.NodeId; MyExpiringContainersReportNode.Message.Text = "The following containers will be expiring soon: "; MyExpiringContainersReportNode.Enabled.Checked = CswEnumTristate.False; CswNbtView MyExpContMRView = _CswNbtSchemaModTrnsctn.makeView(); MyExpContMRView.saveNew("My Expiring Containers", CswEnumNbtViewVisibility.Hidden, CopyViewId: MyExpiringContainersView.ViewId.get()); MyExpiringContainersReportNode.ReportView.ViewId = MyExpContMRView.ViewId; CswRateInterval DailyRate = _CswNbtSchemaModTrnsctn.makeRateInterval(); DailyRate.setHourly(24, DateTime.Today); MyExpiringContainersReportNode.DueDateInterval.RateInterval = DailyRate; }); } }