Exemplo n.º 1
0
        public override void update()
        {
            CswNbtMetaDataNodeType ChemicalNT = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Chemical" );
            if( null != ChemicalNT )
            {
                CswNbtMetaDataNodeTypeProp ContainersNTP = ChemicalNT.getNodeTypeProp( "Chemical Containers" );
                if( null != ContainersNTP )
                {
                    CswNbtViewId ChemContainersViewId = ContainersNTP.ViewId;
                    CswNbtView ChemContainersView = _CswNbtSchemaModTrnsctn.restoreView( ChemContainersViewId );
                    CswNbtViewProperty DisposedViewProp = ChemContainersView.findPropertyByName( "Disposed" );
                    foreach( CswNbtViewPropertyFilter CurrentFilter in DisposedViewProp.Filters )
                    {
                        CurrentFilter.ShowAtRuntime = true;
                    }

                    ChemContainersView.save();

                }//if we ahve a containers NTP

            }//if we have a chemical NT


            CswNbtMetaDataObjectClass LocationOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.LocationClass );
            foreach( CswNbtMetaDataNodeType CurrentLocationNT in LocationOC.getNodeTypes() )
            {
                    CswNbtMetaDataNodeTypeProp ContainersNTP = CurrentLocationNT.getNodeTypeProp( "Containers" );
                    if( null != ContainersNTP )
                    {
                        CswNbtViewId ChemContainersViewId = ContainersNTP.ViewId;
                        CswNbtView ChemContainersView = _CswNbtSchemaModTrnsctn.restoreView( ChemContainersViewId );
                        CswNbtViewProperty DisposedViewProp = ChemContainersView.findPropertyByName( "Disposed" );
                        foreach( CswNbtViewPropertyFilter CurrentFilter in DisposedViewProp.Filters )
                        {
                            CurrentFilter.ShowAtRuntime = true;
                        }

                        ChemContainersView.save();

                    }//if we ahve a containers NTP

            }//iterate location node types





        } // update()
        public override void update()
        {
            CswNbtMetaDataObjectClass ComponentOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.MaterialComponentClass);

            CswNbtMetaDataObjectClassProp oldLowOCP        = ComponentOC.getObjectClassProp(oldLowPercentageValue);
            CswNbtMetaDataObjectClassProp oldTargetOCP     = ComponentOC.getObjectClassProp(oldTargetPercentageValue);
            CswNbtMetaDataObjectClassProp oldHighOCP       = ComponentOC.getObjectClassProp(oldHighPercentageValue);
            CswNbtMetaDataObjectClassProp oldPercentageOCP = ComponentOC.getObjectClassProp(oldPercentageValue);

            if (null != oldLowOCP)
            {
                // Copy values from existing Low/Target/High to new PercentageRange
                CswNbtView CompFixView = _CswNbtSchemaModTrnsctn.makeView();
                CompFixView.ViewName = "52299_compfixview";
                CswNbtViewRelationship rel1 = CompFixView.AddViewRelationship(ComponentOC, false);
                CompFixView.AddViewPropertyAndFilter(rel1, oldLowOCP, Conjunction: CswEnumNbtFilterConjunction.Or, FilterMode: CswEnumNbtFilterMode.NotNull);
                CompFixView.AddViewPropertyAndFilter(rel1, oldTargetOCP, Conjunction: CswEnumNbtFilterConjunction.Or, FilterMode: CswEnumNbtFilterMode.NotNull);
                CompFixView.AddViewPropertyAndFilter(rel1, oldHighOCP, Conjunction: CswEnumNbtFilterConjunction.Or, FilterMode: CswEnumNbtFilterMode.NotNull);

                ICswNbtTree CompFixTree = _CswNbtSchemaModTrnsctn.getTreeFromView(CompFixView, IncludeSystemNodes: true);
                while (CompFixTree.getChildNodeCount() > 0)
                {
                    for (Int32 c = 0; c < CompFixTree.getChildNodeCount(); c++)
                    {
                        CompFixTree.goToNthChild(c);

                        CswNbtObjClassMaterialComponent CompNode = CompFixTree.getCurrentNode();
                        CompNode.PercentageRange.Lower  = CompNode.Node.Properties[oldLowPercentageValue].AsNumber.Value;
                        CompNode.PercentageRange.Target = CompNode.Node.Properties[oldTargetPercentageValue].AsNumber.Value;
                        CompNode.PercentageRange.Upper  = CompNode.Node.Properties[oldHighPercentageValue].AsNumber.Value;
                        CompNode.PercentageRange.Units  = "%";

                        CompNode.Node.Properties[oldLowPercentageValue].AsNumber.Value    = Double.NaN;
                        CompNode.Node.Properties[oldTargetPercentageValue].AsNumber.Value = Double.NaN;
                        CompNode.Node.Properties[oldHighPercentageValue].AsNumber.Value   = Double.NaN;

                        CompNode.postChanges(false);

                        CompFixTree.goToParentNode();
                    } // for( Int32 c = 0; c < CompFixTree.getChildNodeCount(); c++ )

                    // next iteration
                    CompFixTree = _CswNbtSchemaModTrnsctn.getTreeFromView(CompFixView, IncludeSystemNodes: true);
                } // while( CompFixTree.getChildNodeCount() > 0 )


                // Delete existing Low/Target/High
                _CswNbtSchemaModTrnsctn.MetaData.DeleteObjectClassProp(oldLowOCP, true);
                _CswNbtSchemaModTrnsctn.MetaData.DeleteObjectClassProp(oldTargetOCP, true);
                _CswNbtSchemaModTrnsctn.MetaData.DeleteObjectClassProp(oldHighOCP, true);
                _CswNbtSchemaModTrnsctn.MetaData.DeleteObjectClassProp(oldPercentageOCP, true);
            }

            // Set default value of Units to %
            foreach (CswNbtMetaDataNodeType NodeType in ComponentOC.getNodeTypes())
            {
                CswNbtMetaDataNodeTypeProp PercentRangeNTP = NodeType.getNodeTypePropByObjectClassProp(CswNbtObjClassMaterialComponent.PropertyName.PercentageRange);
                PercentRangeNTP.DesignNode.AttributeProperty[CswNbtFieldTypeRuleNumericRange.AttributeName.DefaultValue].SetSubFieldValue(CswNbtFieldTypeRuleNumericRange.SubFieldName.Units, "%");
            }


            // Set layout on nodetypes
            CswNbtSchemaUpdateLayoutMgr AddLayoutMgr = new CswNbtSchemaUpdateLayoutMgr(_CswNbtSchemaModTrnsctn, CswEnumNbtObjectClass.MaterialComponentClass, LayoutType: CswEnumNbtLayoutType.Add);

            AddLayoutMgr.First.moveProp(Row: 1, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Mixture);
            AddLayoutMgr.First.moveProp(Row: 2, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Constituent);
            AddLayoutMgr.First.moveProp(Row: 3, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.PercentageRange);
            AddLayoutMgr.First.moveProp(Row: 4, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Active);
            AddLayoutMgr.First.moveProp(Row: 5, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.HazardousReporting);

            CswNbtSchemaUpdateLayoutMgr EditLayoutMgr = new CswNbtSchemaUpdateLayoutMgr(_CswNbtSchemaModTrnsctn, CswEnumNbtObjectClass.MaterialComponentClass, LayoutType: CswEnumNbtLayoutType.Edit);

            EditLayoutMgr.First.moveProp(Row: 1, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Mixture);
            EditLayoutMgr.First.moveProp(Row: 2, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Constituent);
            EditLayoutMgr.First.moveProp(Row: 3, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.PercentageRange);
            EditLayoutMgr.First.moveProp(Row: 4, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Active);
            EditLayoutMgr.First.moveProp(Row: 5, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.HazardousReporting);

            // Fix Chemical Components Grid
            CswNbtMetaDataNodeType ChemicalNT = _CswNbtSchemaModTrnsctn.MetaData.getNodeType("Chemical");

            if (null != ChemicalNT)
            {
                CswNbtMetaDataNodeTypeProp ComponentsNTP = ChemicalNT.getNodeTypeProp("Components");
                if (null != ComponentsNTP)
                {
                    CswNbtView         ComponentsView = _CswNbtSchemaModTrnsctn.restoreView(ComponentsNTP.ViewId);
                    CswNbtViewProperty percentageVP   = ComponentsView.findPropertyByName("Percentage");
                    if (null != percentageVP)
                    {
                        CswNbtMetaDataObjectClassProp PercentageRangeOCP = ComponentOC.getObjectClassProp(CswNbtObjClassMaterialComponent.PropertyName.PercentageRange);
                        percentageVP.Name = PercentageRangeOCP.PropName;
                        percentageVP.ObjectClassPropId = PercentageRangeOCP.ObjectClassPropId;
                        percentageVP.FieldType         = CswEnumNbtFieldType.NumericRange.ToString();
                        ComponentsView.save();
                    }

                    /*
                     *<TreeView viewname="Components" version="1.0" iconfilename="Images/view/viewgrid.gif" selectable="true" mode="Grid" width="100" viewid="3293" category="" visibility="Property"
                     *        visibilityroleid="" visibilityuserid="" groupbysiblings="false" included="true" isdemo="false" issystem="false" gridgroupbycol="">
                     *    <Relationship secondname="ChemicalClass" secondtype="ObjectClassId" secondid="147" secondiconfilename="atom.png" selectable="true" arbitraryid="root_OC_147" showintree="true"
                     *                  allowaddchildren="True" allowview="True" allowedit="True" allowdelete="True" nodeidstofilterin="" nodeidstofilterout="">
                     *        <Relationship propid="1373" propname="Mixture" proptype="ObjectClassPropId" propowner="Second" firstname="ChemicalClass" firsttype="ObjectClassId" firstid="147"
                     *                      secondname="MaterialComponentClass" secondtype="ObjectClassId" secondid="315" secondiconfilename="atom.png" selectable="true" arbitraryid="root_OC_147_OC_3151373"
                     *                      showintree="true" allowaddchildren="True" allowview="True" allowedit="True" allowdelete="True" nodeidstofilterin="" nodeidstofilterout="">
                     *            <Property type="ObjectClassPropId" nodetypepropid="-2147483648" objectclasspropid="1374" name="Constituent" arbitraryid="root_OC_147_OC_3151373_OCP_1374" sortby="False"
                     *                      sortmethod="Ascending" fieldtype="Relationship" order="1" width="" showingrid="True" />
                     *            <Property type="ObjectClassPropId" nodetypepropid="-2147483648" objectclasspropid="1364" name="Percentage" arbitraryid="root_OC_147_OC_3151373_OCP_1364" sortby="False"
                     *                      sortmethod="Ascending" fieldtype="Number" order="3" width="" showingrid="True" />
                     *            <Relationship propid="1374" propname="Constituent" proptype="ObjectClassPropId" propowner="First" firstname="MaterialComponentClass" firsttype="ObjectClassId"
                     *                      firstid="315" secondname="ChemicalClass" secondtype="ObjectClassId" secondid="147" secondiconfilename="atom.png" selectable="true"
                     *                      arbitraryid="root_OC_147_OC_3151373_OC_1471374" showintree="true" allowaddchildren="True" allowview="True" allowedit="True" allowdelete="True"
                     *                      nodeidstofilterin="" nodeidstofilterout="">
                     *                <Property type="NodeTypePropId" nodetypepropid="5583" objectclasspropid="-2147483648" name="CAS No" arbitraryid="root_OC_147_OC_3151373_OC_1471374_NTP_5583"
                     *                          sortby="False" sortmethod="Ascending" fieldtype="CASNo" order="2" width="" showingrid="True" />
                     *            </Relationship>
                     *        </Relationship>
                     *    </Relationship>
                     *</TreeView>
                     */
                }
            }
        }
Exemplo n.º 3
0
        private void setupGridColumns(DataSet DS, CswNbtView View)
        {
            _Grid.Columns.Clear();

            // Edit column
            GridBoundColumn EditColumn = new GridBoundColumn();

            EditColumn.UniqueName = "EditColumn";
            EditColumn.HeaderText = "Edit";
            EditColumn.DataField  = "Edit";
            EditColumn.Display    = ShowActionColumns;
            _Grid.Columns.Add(EditColumn);

            // Node column
            GridBoundColumn NodeNameColumn = new GridBoundColumn();

            NodeNameColumn.UniqueName = "NodeName";
            NodeNameColumn.HeaderText = "Node Name";
            NodeNameColumn.DataField  = "NodeName";
            // BZ 6704
            NodeNameColumn.Visible = false;
            NodeNameColumn.Display = false;
            _Grid.Columns.Add(NodeNameColumn);

            // NodeKey column
            GridBoundColumn NodeKeyColumn = new GridBoundColumn();

            NodeKeyColumn.UniqueName = "NodeKey";
            NodeKeyColumn.HeaderText = "NodeKey";
            NodeKeyColumn.DataField  = "NodeKey";
            NodeKeyColumn.Display    = false;
            _Grid.Columns.Add(NodeKeyColumn);

            foreach (DataTable Table in DS.Tables)
            {
                foreach (DataColumn Column in Table.Columns)
                {
                    string ColumnName = Column.ColumnName;
                    if (ColumnName.Length > PropColumnPrefix.Length && ColumnName.Substring(0, PropColumnPrefix.Length) == PropColumnPrefix)
                    {
                        string NoPrefixColumnName = ColumnName.Substring(PropColumnPrefix.Length);
                        //Int32 CurrentNodeTypePropId = CswConvert.ToInt32( NoPrefixColumnName.Substring( 0, NoPrefixColumnName.IndexOf( '_' ) ) );
                        string RealColumnName = CswTools.XmlRealAttributeName(NoPrefixColumnName);   //.Substring( NoPrefixColumnName.IndexOf( '_' ) + 1 ) );
                        //CswNbtMetaDataNodeTypeProp CurrentNodeTypeProp = _CswNbtResources.MetaData.getNodeTypeProp( CurrentNodeTypePropId );
                        //CswNbtViewProperty CurrentViewProp = View.FindPropertyById( CswNbtPropType.NodeTypePropId, CurrentNodeTypePropId );
                        CswNbtViewProperty CurrentViewProp = View.findPropertyByName(RealColumnName);
                        //if( CurrentViewProp == null )
                        //    CurrentViewProp = View.FindPropertyByName( CurrentNodeTypeProp.PropName );
                        CswEnumNbtFieldType ColFieldType = CswNbtResources.UnknownEnum;
                        if (CurrentViewProp != null)
                        {
                            if (((CswNbtViewRelationship)CurrentViewProp.Parent).SecondType == CswEnumNbtViewRelatedIdType.NodeTypeId)
                            {
                                CswNbtMetaDataNodeType     CurrentNT  = _CswNbtResources.MetaData.getNodeType(((CswNbtViewRelationship)CurrentViewProp.Parent).SecondId);
                                CswNbtMetaDataNodeTypeProp CurrentNTP = CurrentNT.getNodeTypeProp(RealColumnName);
                                if (CurrentNTP != null)
                                {
                                    ColFieldType = CurrentNTP.getFieldTypeValue();
                                }
                            }
                            else if (((CswNbtViewRelationship)CurrentViewProp.Parent).SecondType == CswEnumNbtViewRelatedIdType.ObjectClassId)
                            {
                                CswNbtMetaDataObjectClass CurrentOC = _CswNbtResources.MetaData.getObjectClass(((CswNbtViewRelationship)CurrentViewProp.Parent).SecondId);
                                foreach (CswNbtMetaDataNodeType CurrentNT in CurrentOC.getNodeTypes())
                                {
                                    CswNbtMetaDataNodeTypeProp CurrentNTP = CurrentNT.getNodeTypeProp(RealColumnName);
                                    if (CurrentNTP != null)
                                    {
                                        ColFieldType = CurrentNTP.getFieldTypeValue();
                                    }
                                }
                            }
                        }

                        GridBoundColumn thisColumn = null;
                        //switch( CurrentNodeTypeProp.FieldType.FieldType )
                        switch (ColFieldType)
                        {
                        case CswEnumNbtFieldType.DateTime:
                            thisColumn = new GridDateTimeColumn();
                            thisColumn.DataFormatString = "{0:M/d/yyyy}";
                            thisColumn.DataType         = typeof(DateTime);
                            break;

                        //case CswEnumNbtFieldType.Time:
                        //    thisColumn = new GridDateTimeColumn();
                        //    thisColumn.DataFormatString = "{0:H:mm:ss}";
                        //    thisColumn.DataType = typeof( DateTime );
                        //    break;
                        default:
                            thisColumn = new GridBoundColumn();
                            break;
                        }
                        thisColumn.UniqueName = ColumnName;
                        thisColumn.HeaderText = RealColumnName;
                        thisColumn.DataField  = ColumnName;
                        if (CurrentViewProp != null && CurrentViewProp.Width != Int32.MinValue)
                        {
                            thisColumn.HeaderStyle.Width = Unit.Parse((CswConvert.ToInt32(CurrentViewProp.Width * 7)).ToString() + "px");        // average pixel width per character
                        }
                        //thisColumn.OrderIndex = CurrentViewProp.Order;
                        //Telerik.Web.UI.GridTableView GTV = new GridTableView( _Grid );
                        if (CurrentViewProp != null && CurrentViewProp.Order > 0 && _Grid.Columns.Count >= CurrentViewProp.Order)
                        {
                            _Grid.Columns.AddAt(CurrentViewProp.Order, thisColumn);
                        }
                        else
                        {
                            _Grid.Columns.Add(thisColumn);
                        }
                    }
                }
            }

            // Delete column
            GridBoundColumn DeleteColumn = new GridBoundColumn();

            DeleteColumn.UniqueName = "DeleteColumn";
            DeleteColumn.HeaderText = "Delete";
            DeleteColumn.DataField  = "Delete";
            DeleteColumn.Display    = ShowActionColumns;
            _Grid.Columns.Add(DeleteColumn);
        } // setupGridColumns()