private void _createMyContainersView()
        {
            CswNbtView MyContainersView = _CswNbtSchemaModTrnsctn.restoreView( "My Containers" ) ??
                                          _CswNbtSchemaModTrnsctn.makeNewView( "My Containers", NbtViewVisibility.Global );
            MyContainersView.ViewMode = NbtViewRenderingMode.Grid;
            MyContainersView.Category = "Containers";
            MyContainersView.Root.ChildRelationships.Clear();

            CswNbtMetaDataObjectClass ContainerOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( NbtObjectClass.ContainerClass );
            CswNbtViewRelationship ContainerRel = MyContainersView.AddViewRelationship( ContainerOC, false );

            CswNbtViewProperty BarcodeVP = MyContainersView.AddViewProperty( ContainerRel, ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Barcode ) );
            BarcodeVP.Order = 1;
            CswNbtViewProperty StatusVP = MyContainersView.AddViewProperty( ContainerRel, ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Status ) );
            StatusVP.Order = 2;
            CswNbtViewProperty QuantityVP = MyContainersView.AddViewProperty( ContainerRel, ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Quantity ) );
            QuantityVP.Order = 3;
            CswNbtViewProperty LocationVP = MyContainersView.AddViewProperty( ContainerRel, ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Location ) );
            LocationVP.Order = 4;
            CswNbtViewProperty DisposedVP = MyContainersView.AddViewProperty( ContainerRel, ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Disposed ) );
            DisposedVP.Order = 5;
            MyContainersView.AddViewPropertyFilter( DisposedVP,
                                          CswNbtPropFilterSql.PropertyFilterConjunction.And,
                                          CswNbtPropFilterSql.FilterResultMode.Hide,
                                          CswNbtSubField.SubFieldName.Checked,
                                          CswNbtPropFilterSql.PropertyFilterMode.Equals,
                                          "false" );
            CswNbtViewProperty OwnerVP = MyContainersView.AddViewProperty( ContainerRel, ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Owner ) );
            OwnerVP.Order = 6;
            OwnerVP.ShowInGrid = false;
            MyContainersView.AddViewPropertyFilter( OwnerVP, FilterMode: CswNbtPropFilterSql.PropertyFilterMode.Equals, Value: "me" );
            MyContainersView.save();
        }
Esempio n. 2
0
        //takes the request view, adds items, and filters by submitted
        public CswNbtView getSubmittedRequestItemsView()
        {
            CswNbtView Ret = getRequestViewBase(LimitToUnsubmitted: false, AddRootRel: false, IncludeDefaultFilters: false);

            Ret.Visibility     = CswEnumNbtViewVisibility.Hidden;
            Ret.ViewName       = SubmittedItemsViewName;
            Ret.GridGroupByCol = CswNbtObjClassRequestItem.PropertyName.Request;
            CswNbtMetaDataObjectClassProp RequestOcp     = _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Request);
            CswNbtViewRelationship        RequestItemRel = Ret.AddViewRelationship(_RequestItemOC, IncludeDefaultFilters: true);

            CswNbtViewProperty NameVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Name), 1);
            //NameVP.ShowInGrid = true;
            CswNbtViewPropertyFilter NameVpf      = Ret.AddViewPropertyFilter(NameVP, ShowAtRuntime: true);
            CswNbtViewProperty       ItemNumberVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.ItemNumber), 2);

            ItemNumberVP.Width = 10;
            CswNbtViewProperty       StatusVP  = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Status), 3);
            CswNbtViewPropertyFilter StatusVpf = Ret.AddViewPropertyFilter(StatusVP, FilterMode: CswEnumNbtFilterMode.NotEquals, Value: CswNbtObjClassRequestItem.Statuses.Pending);

            StatusVpf.ShowAtRuntime = true;
            CswNbtViewProperty DescriptionVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Description), 4);

            DescriptionVP.Width = 50;
            CswNbtViewProperty NeededByVP    = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.NeededBy), 5);
            CswNbtViewProperty RequestVP     = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Request));
            CswNbtViewProperty CommentsVP    = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Comments));
            CswNbtViewProperty RequestTypeVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.RequestType), 7);

            RequestTypeVP.Width = 20;

            return(Ret);
        }
Esempio n. 3
0
        private void _updateMissingHazardClassesView()
        {
            CswNbtView MHCView = _CswNbtSchemaModTrnsctn.restoreView( "Missing Hazard Classes" );
            if( null == MHCView )
            {
                MHCView = _CswNbtSchemaModTrnsctn.makeNewView( "Missing Hazard Classes", CswEnumNbtViewVisibility.Global );
                MHCView.ViewMode = CswEnumNbtViewRenderingMode.Tree;
                MHCView.Category = "Materials";
            }
            else
            {
                MHCView.Root.ChildRelationships.Clear();
            }

            CswNbtViewRelationship RootRel = MHCView.AddViewRelationship( ChemicalOC, true );

            CswNbtMetaDataObjectClassProp SpecialFlagsOCP = ChemicalOC.getObjectClassProp( CswNbtObjClassChemical.PropertyName.SpecialFlags );
            CswNbtViewProperty SpecialFlagsVP = MHCView.AddViewProperty( RootRel, SpecialFlagsOCP );
            MHCView.AddViewPropertyFilter( SpecialFlagsVP,
                                            CswEnumNbtFilterConjunction.And,
                                            CswEnumNbtFilterResultMode.Hide,
                                            CswEnumNbtSubFieldName.Value,
                                            CswEnumNbtFilterMode.NotContains,
                                            "Not Reportable" );

            CswNbtMetaDataObjectClassProp HazardClassesOCP = ChemicalOC.getObjectClassProp( CswNbtObjClassChemical.PropertyName.HazardClasses );
            CswNbtViewProperty HazardClassesVP = MHCView.AddViewProperty( RootRel, HazardClassesOCP );
            MHCView.AddViewPropertyFilter( HazardClassesVP,
                                            CswEnumNbtFilterConjunction.And,
                                            CswEnumNbtFilterResultMode.Hide,
                                            CswEnumNbtSubFieldName.Value,
                                            CswEnumNbtFilterMode.Null );
            MHCView.save();
        }
Esempio n. 4
0
        private CswNbtView _getBadSchedulesAndTasksView()
        {
            CswNbtView BadSchedulesView = _CswNbtSchemaModTrnsctn.makeNewView( "29684 - Bad Schedules", CswEnumNbtViewVisibility.Property );
            BadSchedulesView.ViewMode = CswEnumNbtViewRenderingMode.Tree;
            BadSchedulesView.Width = 100;

            CswNbtMetaDataNodeTypeProp AssemblyTargetTypeNTP = AssemblyScheduleNT.getNodeTypePropByObjectClassProp( CswNbtObjClassGenerator.PropertyName.TargetType );
            CswNbtMetaDataNodeTypeProp EquipmentTargetTypeNTP = EquipmentScheduleNT.getNodeTypePropByObjectClassProp( CswNbtObjClassGenerator.PropertyName.TargetType );
            CswNbtMetaDataNodeTypeProp AssemblyScheduleNTP = AssemblyTaskNT.getNodeTypePropByObjectClassProp( CswNbtObjClassTask.PropertyName.Generator );
            CswNbtMetaDataNodeTypeProp EquipmentScheduleNTP = EquipmentTaskNT.getNodeTypePropByObjectClassProp( CswNbtObjClassTask.PropertyName.Generator );

            CswNbtViewRelationship AssemblySchedRel = BadSchedulesView.AddViewRelationship( AssemblyScheduleNT, true );
            CswNbtViewRelationship EquipmentSchedRel = BadSchedulesView.AddViewRelationship( EquipmentScheduleNT, true );
            BadSchedulesView.AddViewRelationship( EquipmentSchedRel, CswEnumNbtViewPropOwnerType.Second, AssemblyScheduleNTP, true );
            BadSchedulesView.AddViewRelationship( AssemblySchedRel, CswEnumNbtViewPropOwnerType.Second, EquipmentScheduleNTP, true );            
            
            CswNbtViewProperty AssemblyTargetTypeVP = BadSchedulesView.AddViewProperty( AssemblySchedRel, AssemblyTargetTypeNTP );
            BadSchedulesView.AddViewPropertyFilter( AssemblyTargetTypeVP,
                CswEnumNbtFilterConjunction.And,
                CswEnumNbtFilterResultMode.Unknown,
                CswEnumNbtSubFieldName.NodeType,
                CswEnumNbtFilterMode.Contains,
                "Equipment" );
            
            CswNbtViewProperty EquipmentTargetTypeVP = BadSchedulesView.AddViewProperty( EquipmentSchedRel, EquipmentTargetTypeNTP );
            BadSchedulesView.AddViewPropertyFilter( EquipmentTargetTypeVP,
                CswEnumNbtFilterConjunction.And,
                CswEnumNbtFilterResultMode.Unknown,
                CswEnumNbtSubFieldName.NodeType,
                CswEnumNbtFilterMode.Contains,
                "Assembly" );          

            return BadSchedulesView;
        }
        public override void update()
        {
            CswNbtMetaDataNodeType ChemicalNT = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Chemical" );
            if( null != ChemicalNT )
            {
                CswNbtView MHCView = _CswNbtSchemaModTrnsctn.makeNewView( "Missing Hazard Classes", NbtViewVisibility.Global );
                MHCView.Category = "Materials";
                MHCView.Visibility = NbtViewVisibility.Global;
                MHCView.ViewMode = NbtViewRenderingMode.Tree;
            
                CswNbtViewRelationship RootRel = MHCView.AddViewRelationship( ChemicalNT, true );

                CswNbtMetaDataNodeTypeProp SpecialFlagsNTP = ChemicalNT.getNodeTypeProp( "Special Flags" );
                CswNbtViewProperty SpecialFlagsVP = MHCView.AddViewProperty( RootRel, SpecialFlagsNTP );
                MHCView.AddViewPropertyFilter( SpecialFlagsVP,
                                                CswNbtPropFilterSql.PropertyFilterConjunction.And,
                                                CswNbtPropFilterSql.FilterResultMode.Hide,
                                                CswNbtSubField.SubFieldName.Value,
                                                CswNbtPropFilterSql.PropertyFilterMode.NotContains,
                                                "Not Reportable");

                CswNbtMetaDataNodeTypeProp HazardClassesNTP = ChemicalNT.getNodeTypeProp( "Hazard Classes" );
                CswNbtViewProperty HazardClassesVP = MHCView.AddViewProperty( RootRel, HazardClassesNTP );
                MHCView.AddViewPropertyFilter( HazardClassesVP,
                                                CswNbtPropFilterSql.PropertyFilterConjunction.And,
                                                CswNbtPropFilterSql.FilterResultMode.Hide,
                                                CswNbtSubField.SubFieldName.Value,
                                                CswNbtPropFilterSql.PropertyFilterMode.Null);
                MHCView.save();
            }
        }//Update()
Esempio n. 6
0
        } //Update()

        //Get all Inspection targets with Status = OK, and any inspection design nodes that been touched (i.e. - not pending or overdue)
        //If no designs exist in the view for the given target, then the target should have a status of Not Inspected instead.
        private CswNbtView _getInvalidTargetsView()
        {
            CswNbtView myView = _CswNbtSchemaModTrnsctn.makeView();

            myView.Visibility = NbtViewVisibility.Global;
            myView.ViewMode   = NbtViewRenderingMode.Tree;

            CswNbtMetaDataObjectClass Rel1SecondOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(NbtObjectClass.InspectionTargetClass);
            CswNbtViewRelationship    Rel1         = myView.AddViewRelationship(Rel1SecondOC, true);

            CswNbtViewProperty Prop2 = null;

            foreach (CswNbtMetaDataNodeType Rel1NT in Rel1SecondOC.getNodeTypes())
            {
                CswNbtMetaDataNodeTypeProp Prop2NTP = Rel1NT.getNodeTypeProp("Status");
                if (null != Prop2NTP)
                {
                    Prop2 = myView.AddViewProperty(Rel1, Prop2NTP);
                    break;
                }
            }
            myView.AddViewPropertyFilter(Prop2,
                                         CswNbtPropFilterSql.PropertyFilterConjunction.And,
                                         CswNbtPropFilterSql.FilterResultMode.Hide,
                                         CswNbtSubField.SubFieldName.Value,
                                         CswNbtPropFilterSql.PropertyFilterMode.Equals,
                                         "OK");

            CswNbtMetaDataObjectClass     Rel4SecondOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(NbtObjectClass.InspectionDesignClass);
            CswNbtMetaDataObjectClassProp Rel4Prop     = Rel4SecondOC.getObjectClassProp(CswNbtObjClassInspectionDesign.PropertyName.Target);
            CswNbtViewRelationship        Rel4         = myView.AddViewRelationship(Rel1, NbtViewPropOwnerType.Second, Rel4Prop, true);

            CswNbtViewProperty Prop5 = null;

            foreach (CswNbtMetaDataNodeType Rel4NT in Rel4SecondOC.getNodeTypes())
            {
                CswNbtMetaDataNodeTypeProp Prop5NTP = Rel4NT.getNodeTypeProp("Status");
                if (null != Prop5NTP)
                {
                    Prop5 = myView.AddViewProperty(Rel4, Prop5NTP);
                    break;
                }
            }
            myView.AddViewPropertyFilter(Prop5,
                                         CswNbtPropFilterSql.PropertyFilterConjunction.And,
                                         CswNbtPropFilterSql.FilterResultMode.Hide,
                                         CswNbtSubField.SubFieldName.Value,
                                         CswNbtPropFilterSql.PropertyFilterMode.NotEquals,
                                         "Pending");

            myView.AddViewPropertyFilter(Prop5,
                                         CswNbtPropFilterSql.PropertyFilterConjunction.And,
                                         CswNbtPropFilterSql.FilterResultMode.Hide,
                                         CswNbtSubField.SubFieldName.Value,
                                         CswNbtPropFilterSql.PropertyFilterMode.NotEquals,
                                         "Overdue");
            return(myView);
        }
        private CswNbtNode _getTargetNodeForGenerator(CswNbtNode CswNbtNodeGenerator, CswPrimaryKey ParentPk, string TargetDateFilter)
        {
            CswNbtNode ReturnVal = null;

            CswNbtObjClassGenerator GeneratorNode = (CswNbtObjClassGenerator)CswNbtNodeGenerator;

            if (String.IsNullOrEmpty(GeneratorNode.TargetType.SelectedNodeTypeIds.ToString()))
            {
                throw new CswDniException(CswEnumErrorType.Error, "Invalid generator configuration", "_getTargetNodeForGenerator got a null SelectedNodeTypeIds on nodeid " + GeneratorNode.NodeId);
            }
            else
            {
                Int32 NodeTypeId = CswConvert.ToInt32(GeneratorNode.TargetType.SelectedNodeTypeIds[0]);   // case 28612 - just check the first one
                if (Int32.MinValue != NodeTypeId)
                {
                    CswNbtMetaDataNodeType ThisCreatedNodeType = _CswNbtResources.MetaData.getNodeType(NodeTypeId);
                    if (null != ThisCreatedNodeType)
                    {
                        CswNbtMetaDataNodeType    CreatedNodeType            = ThisCreatedNodeType.getNodeTypeLatestVersion();
                        CswNbtMetaDataObjectClass CreatedMetaDataObjectClass = CreatedNodeType.getObjectClass();

                        CswNbtObjClass CreatedObjClass = CswNbtObjClassFactory.makeObjClass(_CswNbtResources, CreatedMetaDataObjectClass);
                        if (!(CreatedObjClass is CswNbtPropertySetGeneratorTarget))
                        {
                            throw new CswDniException("CswNbtActGenerateNodes got an invalid object class: " + CreatedObjClass.ObjectClass.ToString());
                        }
                        CswNbtPropertySetGeneratorTarget GeneratorTarget = (CswNbtPropertySetGeneratorTarget)CreatedObjClass;

                        // CreatedForNTP is the parent or owner of the new node. Inspections created for Inspection Targets, Tasks for Equipment, etc.
                        CswNbtMetaDataNodeTypeProp CreatedForNTP = CreatedNodeType.getNodeTypePropByObjectClassProp(GeneratorTarget.ParentPropertyName);
                        CswNbtMetaDataNodeTypeProp GeneratorNTP  = CreatedNodeType.getNodeTypePropByObjectClassProp(CswNbtPropertySetGeneratorTarget.PropertyName.Generator);
                        CswNbtMetaDataNodeTypeProp DueDateNTP    = CreatedNodeType.getNodeTypePropByObjectClassProp(CswNbtPropertySetGeneratorTarget.PropertyName.DueDate);

                        CswNbtView CswNbtView = new CswNbtView(_CswNbtResources);
                        CswNbtView.ViewName = "Nodes for Generator";

                        CswNbtViewRelationship RootRelationship     = CswNbtView.AddViewRelationship(CreatedNodeType, false);
                        CswNbtViewProperty     CreatedForParentProp = CswNbtView.AddViewProperty(RootRelationship, CreatedForNTP);
                        CswNbtView.AddViewPropertyFilter(CreatedForParentProp, CswNbtFieldTypeRuleRelationship.SubFieldName.NodeID, CswEnumNbtFilterMode.Equals, ParentPk.PrimaryKey.ToString(), false);
                        CswNbtViewProperty GeneratorProp = CswNbtView.AddViewProperty(RootRelationship, GeneratorNTP);
                        CswNbtView.AddViewPropertyFilter(GeneratorProp, CswNbtFieldTypeRuleRelationship.SubFieldName.NodeID, CswEnumNbtFilterMode.Equals, CswNbtNodeGenerator.NodeId.PrimaryKey.ToString(), false);
                        CswNbtViewProperty DueDateProp = CswNbtView.AddViewProperty(RootRelationship, DueDateNTP);
                        //Case 24572
                        CswNbtView.AddViewPropertyFilter(DueDateProp, CswNbtFieldTypeRuleDateTime.SubFieldName.Value, CswEnumNbtFilterMode.Equals, TargetDateFilter, false);

                        ICswNbtTree ExistingNodesTree = _CswNbtResources.Trees.getTreeFromView(_CswNbtResources.CurrentNbtUser, CswNbtView, true, false, false);

                        if (ExistingNodesTree.getChildNodeCount() > 0)
                        {
                            ExistingNodesTree.goToNthChild(0);
                            ReturnVal = ExistingNodesTree.getNodeForCurrentPosition();
                        }
                    }
                }
            }
            return(ReturnVal);
        }//_getTargetNodeForGenerator
Esempio n. 8
0
        public override void update()
        {
            CswNbtMetaDataNodeType TimeUnitNodeType = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Unit (Time)" );
            if( null != TimeUnitNodeType )
            {
                CswNbtObjClassUnitOfMeasure NodeAsUnitOfMeasure = null;
                foreach( CswNbtObjClassUnitOfMeasure Unit in TimeUnitNodeType.getNodes( forceReInit: true, includeSystemNodes: false ) )
                {
                    if( Unit.Name.Text.ToLower().Replace( " ", "" ) == "months" )
                    {
                        NodeAsUnitOfMeasure = Unit;
                        break;
                    }
                }

                NodeAsUnitOfMeasure = NodeAsUnitOfMeasure ?? _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( TimeUnitNodeType.NodeTypeId, CswNbtNodeCollection.MakeNodeOperation.WriteNode );
                NodeAsUnitOfMeasure.Name.Text = "Months";
                NodeAsUnitOfMeasure.Fractional.Checked = Tristate.False;
                NodeAsUnitOfMeasure.postChanges( true );

                CswNbtMetaDataObjectClass MaterialOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswNbtMetaDataObjectClass.NbtObjectClass.MaterialClass );
                foreach( CswNbtMetaDataNodeType MaterialNodeType in MaterialOC.getNodeTypes() )
                {
                    CswNbtMetaDataNodeTypeProp ExpInt = MaterialNodeType.getNodeTypePropByObjectClassProp( CswNbtObjClassMaterial.PropertyName.ExpirationInterval );
                    CswNbtView TimeView = _CswNbtSchemaModTrnsctn.restoreView( ExpInt.ViewId );

                    CswNbtViewRelationship TimeUnitNodeTypeRelationship = TimeView.Root.ChildRelationships[0];
                    CswNbtMetaDataNodeTypeProp TimeNameNtp = TimeUnitNodeType.getNodeTypePropByObjectClassProp( CswNbtObjClassUnitOfMeasure.PropertyName.Name );
                    CswNbtViewProperty TimeNameViewProp = TimeView.AddViewProperty( TimeUnitNodeTypeRelationship, TimeNameNtp );

                    TimeView.AddViewPropertyFilter(
                        ParentViewProperty: TimeNameViewProp,
                        Conjunction: CswNbtPropFilterSql.PropertyFilterConjunction.Or,
                        SubFieldName: CswNbtSubField.SubFieldName.Text,
                        FilterMode: CswNbtPropFilterSql.PropertyFilterMode.Equals,
                        Value: "Months"
                        );
                    TimeView.AddViewPropertyFilter(
                        ParentViewProperty: TimeNameViewProp,
                        Conjunction: CswNbtPropFilterSql.PropertyFilterConjunction.Or,
                        SubFieldName: CswNbtSubField.SubFieldName.Text,
                        FilterMode: CswNbtPropFilterSql.PropertyFilterMode.Equals,
                        Value: "Years"
                        );
                    TimeView.save();
                }

            }

        }//Update()
Esempio n. 9
0
        // This is used by CswNbtNodeProp for unique value enforcement
        public void AddUniqueFilterToView(CswNbtView View, CswNbtViewProperty UniqueValueViewProperty, CswNbtNodePropWrapper PropertyValueToCheck, bool EnforceNullEntries = false, CswNbtSubField SubField = null)
        {
            if (SubField == null)
            {
                SubField = SubFields.Default;
            }

            string StringValueToCheck = PropertyValueToCheck.GetSubFieldValue(SubField);

            // case 31292 - Kludge fix for NodeID filters
            if (SubField.Name == CswEnumNbtSubFieldName.NodeID && false == string.IsNullOrEmpty(StringValueToCheck))
            {
                CswPrimaryKey pkValue = new CswPrimaryKey();
                pkValue.FromString(StringValueToCheck);
                StringValueToCheck = pkValue.PrimaryKey.ToString();
            }
            CswEnumNbtFilterMode FilterMode;

            //case 27670 - in order to reserve the right for compound unique props to be empty, it has to be explicitly stated when creating the ForCompundUnique view
            if (EnforceNullEntries && String.IsNullOrEmpty(StringValueToCheck))
            {
                FilterMode = CswEnumNbtFilterMode.Null;
            }
            else
            {
                FilterMode = CswEnumNbtFilterMode.Equals;
            }

            View.AddViewPropertyFilter(UniqueValueViewProperty, SubField.Name, FilterMode, StringValueToCheck.Trim(), false);
        }
        public override void update()
        {

            CswNbtMetaDataObjectClass materialOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( NbtObjectClass.MaterialClass );
            foreach( CswNbtMetaDataNodeType materialNT in materialOC.getNodeTypes() )
            {
                CswNbtMetaDataNodeTypeProp documentNTP = materialNT.getNodeTypeProp( "Documents" );
                if( null != documentNTP )
                {
                    CswNbtView documentsPropView = _CswNbtSchemaModTrnsctn.restoreView( documentNTP.ViewId );
                    foreach( CswNbtViewProperty viewProp in documentsPropView.getOrderedViewProps( true ) )
                    {
                        if( viewProp.Name.Equals( CswNbtObjClassDocument.PropertyName.Archived ) )
                        {
                            documentsPropView.AddViewPropertyFilter( viewProp,
                                Conjunction: CswNbtPropFilterSql.PropertyFilterConjunction.Or,
                                SubFieldName: CswNbtSubField.SubFieldName.Checked,
                                FilterMode: CswNbtPropFilterSql.PropertyFilterMode.Equals,
                                Value: CswConvert.ToDbVal( true ).ToString()
                            );
                        }
                    }
                    documentsPropView.save();

                } // if( null != documentNTP )
            } //foreach( CswNbtMetaDataNodeType materialNT in materialOC.getNodeTypes() )

        } //Update()
Esempio n. 11
0
        public CswNbtView getAllRecurringRequestItemsView(bool AddRunTimeFilters = true)
        {
            CswNbtView Ret = new CswNbtView(_CswNbtResources)
            {
                Category   = "Request Configuration",
                Visibility = CswEnumNbtViewVisibility.Hidden,
                ViewMode   = CswEnumNbtViewRenderingMode.Grid,
                ViewName   = RecurringItemsViewName
            };
            //Unlike other Request Items, Recurring requests are not tied to a Request, so they don't have a Name.
            CswNbtViewRelationship RequestItemRel = Ret.AddViewRelationship(_RequestItemOC, IncludeDefaultFilters: false);
            CswNbtViewProperty     DescriptionVP  = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Description), 1);

            DescriptionVP.Width = 40;
            CswNbtViewProperty RecurringFrequencyVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.RecurringFrequency), 2);
            CswNbtViewProperty NextReorderDateVP    = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.NextReorderDate), 3);

            NextReorderDateVP.SortBy = true;
            if (AddRunTimeFilters)
            {
                Ret.AddViewPropertyFilter(NextReorderDateVP, ShowAtRuntime: true);
            }
            Ret.AddViewPropertyAndFilter(RequestItemRel,
                                         _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.IsRecurring),
                                         Value: CswEnumTristate.True.ToString(),
                                         ShowInGrid: false);
            return(Ret);
        }
Esempio n. 12
0
        //takes the default request view, adds items, and filters by favorites
        public CswNbtView getFavoriteRequestsItemsView()
        {
            CswNbtView Ret = new CswNbtView(_CswNbtResources)
            {
                Category       = "Request Configuration",
                Visibility     = CswEnumNbtViewVisibility.Hidden,
                ViewMode       = CswEnumNbtViewRenderingMode.Grid,
                ViewName       = FavoriteItemsViewName,
                GridGroupByCol = CswNbtObjClassRequestItem.PropertyName.Name
            };
            CswNbtViewRelationship RequestItemRel = Ret.AddViewRelationship(_RequestItemOC, false);
            CswNbtViewProperty     NameVP         = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Name), 1);

            NameVP.SortBy = true;
            Ret.AddViewPropertyFilter(NameVP, ShowAtRuntime: true);
            CswNbtViewProperty DescriptionVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Description), 2);

            DescriptionVP.Width = 50;
            CswNbtViewProperty InventoryGroupVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.InventoryGroup), 3);

            InventoryGroupVP.Width = 30;
            CswNbtViewProperty LocationVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Location), 4);

            LocationVP.Width = 40;
            Ret.AddViewPropertyAndFilter(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Requestor), Value: "me", ShowInGrid: false);
            Ret.AddViewPropertyAndFilter(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.IsFavorite), Value: CswNbtNodePropLogical.toLogicalGestalt(CswEnumTristate.True), ShowInGrid: false);
            return(Ret);
        }
Esempio n. 13
0
        public CswNbtNode makeRoleNodeFromRoleName(string RoleName)
        {
            CswNbtNode RoleNode = null;

            CswNbtMetaDataObjectClass     Role_ObjectClass         = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.RoleClass);
            CswNbtMetaDataObjectClassProp RoleName_ObjectClassProp = Role_ObjectClass.getObjectClassProp(CswNbtObjClassRole.PropertyName.Name);

            // generate the view
            CswNbtView View = new CswNbtView(_CswNbtResources);

            View.ViewName = "CswNbtNodes.makeRoleNodeFromRoleName(" + RoleName + ")";
            CswNbtViewRelationship   RoleRelationship = View.AddViewRelationship(Role_ObjectClass, false);
            CswNbtViewProperty       Prop             = View.AddViewProperty(RoleRelationship, RoleName_ObjectClassProp);
            CswNbtViewPropertyFilter Filter           = View.AddViewPropertyFilter(Prop, CswNbtFieldTypeRuleText.SubFieldName.Text, CswEnumNbtFilterMode.Equals, RoleName, false);

            // generate the tree
            ICswNbtTree UserTree = _CswNbtResources.Trees.getTreeFromView(View, false, true, IncludeHiddenNodes: true);

            // get user node
            UserTree.goToRoot();
            if (UserTree.getChildNodeCount() > 0)
            {
                UserTree.goToNthChild(0);
                RoleNode = UserTree.getNodeForCurrentPosition();
            }
            return(RoleNode);
        }
        public override void update()
        {
            #region UPDATE VIEWS
            CswNbtMetaDataObjectClass userOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswNbtMetaDataObjectClass.NbtObjectClass.UserClass );
            CswNbtMetaDataObjectClassProp archivedOCP = userOC.getObjectClassProp( CswNbtObjClassUser.PropertyName.Archived );

            foreach( CswNbtMetaDataNodeTypeProp relationshipProp in _CswNbtSchemaModTrnsctn.MetaData.getNodeTypeProps( CswNbtMetaDataFieldType.NbtFieldType.Relationship ) )
            {
                if( relationshipProp.IsUserRelationship() )
                {
                    CswNbtView userView = _CswNbtSchemaModTrnsctn.ViewSelect.restoreView( relationshipProp.ViewId );
                    if( false == userView.IsEmpty() )
                    {
                        CswNbtViewRelationship parent = userView.Root.ChildRelationships[0];
                        bool filterExists;
                        bool viewPropExists;
                        CswNbtViewProperty archivedVP = _viewPropAndFilterExists( out filterExists, out viewPropExists, userView, archivedOCP, CswNbtPropFilterSql.PropertyFilterMode.NotEquals, Tristate.True.ToString() );
                        if( false == viewPropExists ) //the view prop isn't there, add it with the filter
                        {
                            userView.AddViewPropertyAndFilter( parent, archivedOCP, FilterMode: CswNbtPropFilterSql.PropertyFilterMode.NotEquals, Value: Tristate.True.ToString() );
                        }
                        else if( viewPropExists && false == filterExists ) //the view prop is there, but with no filter
                        {
                            userView.AddViewPropertyFilter( archivedVP, FilterMode: CswNbtPropFilterSql.PropertyFilterMode.NotEquals, Value: Tristate.True.ToString() );
                        }
                        userView.save();
                    }
                }
            }
            #endregion

        }//Update()
Esempio n. 15
0
        public IEnumerable <CswPrimaryKey> getContainersInGroup()
        {
            CswNbtView ContainersInGroupView = new CswNbtView(_CswNbtResources);

            ContainersInGroupView.ViewName = "ContainersInGroup";

            CswNbtMetaDataObjectClass ContainerOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerClass);
            CswNbtViewRelationship    Rel1        = ContainersInGroupView.AddViewRelationship(ContainerOC, true);

            CswNbtMetaDataObjectClassProp ContainerGroupOCP = ContainerOC.getObjectClassProp(CswNbtObjClassContainer.PropertyName.ContainerGroup);
            CswNbtViewProperty            Prop2             = ContainersInGroupView.AddViewProperty(Rel1, ContainerGroupOCP);
            CswNbtViewPropertyFilter      Filt3             = ContainersInGroupView.AddViewPropertyFilter(Prop2,
                                                                                                          CswEnumNbtFilterConjunction.And,
                                                                                                          CswEnumNbtFilterResultMode.Hide,
                                                                                                          CswNbtFieldTypeRuleRelationship.SubFieldName.NodeID,
                                                                                                          CswEnumNbtFilterMode.Equals,
                                                                                                          this.NodeId.PrimaryKey.ToString(),
                                                                                                          false,
                                                                                                          false);

            Collection <CswPrimaryKey> _ContainerGroupNodePks = new Collection <CswPrimaryKey>();

            ICswNbtTree ContainersInGroupTree = _CswNbtResources.Trees.getTreeFromView(ContainersInGroupView, false, true, true);

            ContainersInGroupTree.goToRoot();
            for (int i = 0; i < ContainersInGroupTree.getChildNodeCount(); i++)
            {
                ContainersInGroupTree.goToNthChild(i);
                _ContainerGroupNodePks.Add(ContainersInGroupTree.getNodeIdForCurrentPosition());
                ContainersInGroupTree.goToParentNode();
            }

            return(_ContainerGroupNodePks);
        }
        }//afterPopulateProps()

        public override CswNbtNode CopyNode(bool IsNodeTemp = false, Action <CswNbtNode> OnCopy = null)
        {
            // Copy this Assembly
            CswNbtNode CopiedAssemblyNode = base.CopyNodeImpl(IsNodeTemp, OnCopy);

            // Copy all Equipment
            CswNbtMetaDataObjectClass EquipmentObjectClass    = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.EquipmentClass);
            CswNbtView               EquipmentView            = new CswNbtView(_CswNbtResources);
            CswNbtViewRelationship   EquipmentRelationship    = EquipmentView.AddViewRelationship(EquipmentObjectClass, false);
            CswNbtViewProperty       AssemblyProperty         = EquipmentView.AddViewProperty(EquipmentRelationship, EquipmentObjectClass.getObjectClassProp(CswNbtObjClassEquipment.PropertyName.Assembly));
            CswNbtViewPropertyFilter AssemblyIsOriginalFilter = EquipmentView.AddViewPropertyFilter(
                AssemblyProperty,
                CswNbtFieldTypeRuleRelationship.SubFieldName.NodeID,
                CswEnumNbtFilterMode.Equals,
                NodeId.PrimaryKey.ToString());

            ICswNbtTree EquipmentTree = _CswNbtResources.Trees.getTreeFromView(_CswNbtResources.CurrentNbtUser, EquipmentView, true, false, false);

            EquipmentTree.goToRoot();
            Int32 c = 0;

            while (c < EquipmentTree.getChildNodeCount())
            {
                EquipmentTree.goToNthChild(c);
                CswNbtObjClassEquipment OriginalEquipmentNode = EquipmentTree.getNodeForCurrentPosition();
                OriginalEquipmentNode.CopyNode(IsNodeTemp, delegate(CswNbtNode CopiedEquipmentNode)
                {
                    ((CswNbtObjClassEquipment)CopiedEquipmentNode).Assembly.RelatedNodeId = CopiedAssemblyNode.NodeId;
                });
                EquipmentTree.goToParentNode();
                c++;
            }

            return(CopiedAssemblyNode);
        }
Esempio n. 17
0
        private CswPrimaryKey _HandleReference(string LocationNodeIdStr, string LocationBarcode)   //, Dictionary<Int32, Int32> NodeMap )
        {
            CswPrimaryKey LocationNodeId = new CswPrimaryKey();

            if (!string.IsNullOrEmpty(LocationNodeIdStr))
            {
                LocationNodeId.FromString(LocationNodeIdStr);
                if (LocationNodeId.PrimaryKey == Int32.MinValue && LocationBarcode != string.Empty)
                {
                    // Find the location with this barcode value
                    CswNbtMetaDataObjectClass     LocationObjectClass    = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.LocationClass);
                    CswNbtMetaDataObjectClassProp BarcodeObjectClassProp = LocationObjectClass.getObjectClassProp(CswNbtObjClassLocation.PropertyName.Barcode);

                    CswNbtView LocationView = new CswNbtView(_CswNbtResources);
                    // All locations..
                    CswNbtViewRelationship LocationRelationship = LocationView.AddViewRelationship(LocationObjectClass, false);
                    // ..with barcodes
                    CswNbtViewProperty BarcodeViewProperty = LocationView.AddViewProperty(LocationRelationship, BarcodeObjectClassProp);
                    // ..equal to the given barcode
                    CswNbtViewPropertyFilter BarcodeViewPropertyFilter = LocationView.AddViewPropertyFilter(BarcodeViewProperty, CswNbtFieldTypeRuleBarCode.SubFieldName.Barcode, CswEnumNbtFilterMode.Equals, LocationBarcode, false);

                    ICswNbtTree LocationTree = _CswNbtResources.Trees.getTreeFromView(_CswNbtResources.CurrentNbtUser, LocationView, true, false, false);
                    if (LocationTree.getChildNodeCount() > 0)
                    {
                        LocationTree.goToNthChild(0);
                        CswNbtNode LocationNode = LocationTree.getNodeForCurrentPosition();
                        LocationNodeId = LocationNode.NodeId;
                    }
                }
            } // if(!string.IsNullOrEmpty(LocationNodeIdStr))
            return(LocationNodeId);
        }     // _HandleReference()
        public override void update()
        {

            //get all views and find the dispense requests view
            DataTable Views = _CswNbtSchemaModTrnsctn.ViewSelect.getAllViews();
            CswNbtViewId dispenseRequestsViewId = new CswNbtViewId();
            foreach( DataRow row in Views.Rows )
            {
                if( row["viewname"].Equals( "Dispense Requests: Open" ) )
                {
                    dispenseRequestsViewId.set( CswConvert.ToInt32( row["nodeviewid"] ) );
                }
            }

            /*
             * The dispense requests view is broken. It has THREE 'Status' properties, each with different filters
             */

            if( dispenseRequestsViewId.isSet() )
            {
                CswNbtView DispenseRequestsView = _CswNbtSchemaModTrnsctn.ViewSelect.restoreView( dispenseRequestsViewId );
                LinkedList<CswNbtViewProperty> viewProps = DispenseRequestsView.getOrderedViewProps( false );
                CswNbtViewRelationship parent = null;
                foreach( CswNbtViewProperty viewProp in viewProps ) //delete the 3 duplicate 'Status' view props from this view
                {
                    if( viewProp.Name.Equals( "Status" ) )
                    {
                        DispenseRequestsView.removeViewProperty( viewProp.MetaDataProp );
                    }
                    else
                    {
                        parent = (CswNbtViewRelationship) viewProp.Parent; //get the view parent to add the Status prop later (in this specific case this get the root)
                    }
                }

                //add the property to the view ONCE
                CswNbtMetaDataObjectClass requestItemOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswNbtMetaDataObjectClass.NbtObjectClass.RequestItemClass );
                CswNbtViewProperty statusVP = DispenseRequestsView.AddViewProperty( parent, requestItemOC.getObjectClassProp( CswNbtObjClassRequestItem.PropertyName.Status ) );

                //now add the filters
                DispenseRequestsView.AddViewPropertyFilter( statusVP, FilterMode: CswNbtPropFilterSql.PropertyFilterMode.NotEquals, Value: "Completed" );
                DispenseRequestsView.AddViewPropertyFilter( statusVP, FilterMode: CswNbtPropFilterSql.PropertyFilterMode.NotEquals, Value: "Cancelled" );

                DispenseRequestsView.save();
            }

        }//Update()
Esempio n. 19
0
        private CswNbtView _getReconciliationScansForOutOfScopeContainersView(ContainerData.ReconciliationRequest Request)
        {
            Collection <CswPrimaryKey> LocationIds = _getLocationIds(Request);

            CswNbtMetaDataObjectClass     LocationOC          = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.LocationClass);
            CswNbtMetaDataObjectClass     ContainerOC         = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerClass);
            CswNbtMetaDataObjectClassProp CLocationOCP        = ContainerOC.getObjectClassProp(CswNbtObjClassContainer.PropertyName.Location);
            CswNbtMetaDataObjectClass     ContainerLocationOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerLocationClass);
            CswNbtMetaDataObjectClassProp ContainerOCP        = ContainerLocationOC.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.Container);
            CswNbtMetaDataObjectClassProp TypeOCP             = ContainerLocationOC.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.Type);
            CswNbtMetaDataObjectClassProp LocationOCP         = ContainerLocationOC.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.Location);
            CswNbtMetaDataObjectClassProp ScanDateOCP         = ContainerLocationOC.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.ScanDate);

            CswNbtView ContainerLocationsView = new CswNbtView(_CswNbtResources);
            //Filter to selected location (and all child locations if applicable)
            CswNbtViewRelationship LocationVR = ContainerLocationsView.AddViewRelationship(LocationOC, false);

            LocationVR.NodeIdsToFilterIn = LocationIds;
            CswCommaDelimitedString LocIds = new CswCommaDelimitedString();

            foreach (CswPrimaryKey LocId in LocationIds)
            {
                LocIds.Add(LocId.PrimaryKey.ToString());
            }
            //Filter to Container Location records of type Reconcile Scans in the current time scope
            CswNbtViewRelationship ContainerLocationVR = ContainerLocationsView.AddViewRelationship(LocationVR, CswEnumNbtViewPropOwnerType.Second, LocationOCP, false);
            CswNbtViewProperty     TypeVP = ContainerLocationsView.AddViewProperty(ContainerLocationVR, TypeOCP);

            ContainerLocationsView.AddViewPropertyFilter(TypeVP, FilterMode: CswEnumNbtFilterMode.Equals, Value: CswEnumNbtContainerLocationTypeOptions.ReconcileScans.ToString());
            CswNbtViewProperty ScanDateVP = ContainerLocationsView.AddViewProperty(ContainerLocationVR, ScanDateOCP);

            if (CswConvert.ToDateTime(Request.StartDate) > CswConvert.ToDateTime(Request.EndDate))
            {
                Request.StartDate = Request.EndDate;
            }
            ContainerLocationsView.AddViewPropertyFilter(ScanDateVP, FilterMode: CswEnumNbtFilterMode.GreaterThanOrEquals, Value: Request.StartDate);
            ContainerLocationsView.AddViewPropertyFilter(ScanDateVP, FilterMode: CswEnumNbtFilterMode.LessThanOrEquals, Value: Request.EndDate);
            ContainerLocationsView.setSortProperty(ScanDateVP, CswEnumNbtViewPropertySortMethod.Descending);
            //Filter to Containers not matching current location scope
            CswNbtViewRelationship ContainerVR = ContainerLocationsView.AddViewRelationship(ContainerLocationVR, CswEnumNbtViewPropOwnerType.First, ContainerOCP, false);
            CswNbtViewProperty     CLocVP      = ContainerLocationsView.AddViewProperty(ContainerVR, CLocationOCP);

            ContainerLocationsView.AddViewPropertyFilter(CLocVP, CswEnumNbtSubFieldName.NodeID, CswEnumNbtFilterMode.In, LocIds.ToString());

            return(ContainerLocationsView);
        }
Esempio n. 20
0
        public static void setReceiptLotPermissions(CswNbtResources CswNbtResources, bool ModuleIsActive)
        {
            // CIS-52258 - grant Receipt Lot permissions to cispro_ roles

            CswNbtMetaDataObjectClass ReceiptLotOC = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ReceiptLotClass);

            CswNbtMetaDataObjectClass     RoleOC      = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.RoleClass);
            CswNbtMetaDataObjectClassProp RoleNameOCP = RoleOC.getObjectClassProp(CswNbtObjClassRole.PropertyName.Name);

            CswNbtView View = new CswNbtView(CswNbtResources);

            View.ViewName = "MLM Enable - Find CISPro roles";
            CswNbtViewRelationship roleRelationship = View.AddViewRelationship(RoleOC, false);
            CswNbtViewProperty     roleNameProp     = View.AddViewProperty(roleRelationship, RoleNameOCP);

            View.AddViewPropertyFilter(roleNameProp,
                                       SubFieldName: CswNbtFieldTypeRuleText.SubFieldName.Text,
                                       FilterMode: CswEnumNbtFilterMode.Begins,
                                       Value: "cispro_",
                                       CaseSensitive: false);
            ICswNbtTree RoleTree = CswNbtResources.Trees.getTreeFromView(View, false, true, IncludeHiddenNodes: true);

            for (Int32 r = 0; r < RoleTree.getChildNodeCount(); r++)
            {
                RoleTree.goToNthChild(r);

                CswNbtObjClassRole RoleNode = RoleTree.getCurrentNode();
                foreach (CswNbtMetaDataNodeType ReceiptLotNT in ReceiptLotOC.getNodeTypes())
                {
                    //if MLM is on, everyone needs View and admins/receivers need Edit
                    if (CswNbtResources.Modules.IsModuleEnabled(CswEnumNbtModuleName.MLM))
                    {
                        CswNbtResources.Permit.set(CswEnumNbtNodeTypePermission.View, ReceiptLotNT, RoleNode, true);

                        if ("cispro_receiver" == RoleNode.Name.Text.ToLower() ||
                            "cispro_admin" == RoleNode.Name.Text.ToLower())
                        {
                            CswNbtResources.Permit.set(CswEnumNbtNodeTypePermission.Edit, ReceiptLotNT, RoleNode, true);
                        }
                    }
                    //otherwise, if only Lot Info is on, no one needs Edit, but everyone needs View
                    else if (CswNbtResources.Modules.IsModuleEnabled(CswEnumNbtModuleName.ManufacturerLotInfo))
                    {
                        CswNbtResources.Permit.set(CswEnumNbtNodeTypePermission.View, ReceiptLotNT, RoleNode, true);
                        CswNbtResources.Permit.set(CswEnumNbtNodeTypePermission.Edit, ReceiptLotNT, RoleNode, false);
                    }
                    //if both MLM and Lot Info are off, no one needs to View or Edit
                    else
                    {
                        CswNbtResources.Permit.set(CswEnumNbtNodeTypePermission.View, ReceiptLotNT, RoleNode, false);
                        CswNbtResources.Permit.set(CswEnumNbtNodeTypePermission.Edit, ReceiptLotNT, RoleNode, false);
                    }
                }
                //RoleNode.postChanges( false );  CswNbtPermit does this.

                RoleTree.goToParentNode();
            }
        } // setReceiptLotPermissions()
Esempio n. 21
0
        /// <summary>
        /// Creates a CswNbtViewPropertyFilter and returns its Json
        /// </summary>
        public JObject makeViewPropFilter(CswNbtView View, JObject FilterProp, bool ClearFilters = false)
        {
            JObject Ret = new JObject();

            string FiltArbitraryId = CswConvert.ToString(FilterProp["filtarbitraryid"]);
            string PropArbitraryId = CswConvert.ToString(FilterProp["proparbitraryid"]);

            if (FiltArbitraryId == "undefined")
            {
                FiltArbitraryId = string.Empty;
            }
            if (PropArbitraryId == "undefined")
            {
                PropArbitraryId = string.Empty;
            }

            CswNbtViewPropertyFilter ViewPropFilt = null;

            if (false == string.IsNullOrEmpty(PropArbitraryId))
            {
                CswNbtViewProperty ViewProp = (CswNbtViewProperty)View.FindViewNodeByArbitraryId(PropArbitraryId);

                if (false == string.IsNullOrEmpty(FiltArbitraryId))
                {
                    ViewPropFilt = (CswNbtViewPropertyFilter)View.FindViewNodeByArbitraryId(FiltArbitraryId);
                }
                else
                {
                    ViewPropFilt = View.AddViewPropertyFilter(ViewProp, CswEnumNbtSubFieldName.Unknown, CswEnumNbtFilterMode.Unknown, string.Empty, false);
                }

                //Case 23779, 23937, 24064
                if (ClearFilters && null != ViewPropFilt)
                {
                    ViewProp.Filters.Clear();
                    ViewProp.Filters.Add(ViewPropFilt);
                }
            }

            if (ViewPropFilt != null)
            {
                CswEnumNbtFilterConjunction Conjunction = (CswEnumNbtFilterConjunction)CswConvert.ToString(FilterProp["conjunction"]);
                CswEnumNbtSubFieldName      FieldName   = (CswEnumNbtSubFieldName)CswConvert.ToString(FilterProp["subfieldname"]);
                CswEnumNbtFilterMode        FilterMode  = (CswEnumNbtFilterMode)CswConvert.ToString(FilterProp["filter"]);
                string FilterValue = CswConvert.ToString(FilterProp["filtervalue"]);

                if (FieldName != CswEnumNbtSubFieldName.Unknown &&
                    FilterMode != CswEnumNbtFilterMode.Unknown)
                {
                    ViewPropFilt.FilterMode   = FilterMode;
                    ViewPropFilt.Conjunction  = Conjunction;
                    ViewPropFilt.SubfieldName = FieldName;
                    ViewPropFilt.Value        = FilterValue;
                    _addVbPropFilter(Ret, ViewPropFilt);
                }
            }
            return(Ret);
        }
        private void _deleteFutureNodes()
        {
            // BZ 6754 - Delete all future nodes
            CswNbtMetaDataObjectClass GeneratorObjectClass = ObjectClass;

            if( TargetType.SelectedNodeTypeIds.Count == 1 )
            {
                Int32 SelectedTargetNtId = CswConvert.ToInt32( TargetType.SelectedNodeTypeIds[0] );
                if( Int32.MinValue != SelectedTargetNtId )
                {
                    CswNbtMetaDataNodeType TargetNodeType = _CswNbtResources.MetaData.getNodeType( SelectedTargetNtId );
                    if( null != TargetNodeType )
                    {
                        CswNbtMetaDataObjectClass TargetObjectClass = TargetNodeType.getObjectClass();

                        CswNbtObjClass TargetObjClass = CswNbtObjClassFactory.makeObjClass( _CswNbtResources, TargetObjectClass );
                        if( !( TargetObjClass is CswNbtPropertySetGeneratorTarget ) )
                        {
                            throw new CswDniException( "CswNbtObjClassGenerator.beforeDeleteNode() got an invalid object class: " + TargetObjectClass.ObjectClass );
                        }

                        CswNbtMetaDataNodeTypeProp GeneratorProp = TargetNodeType.getNodeTypePropByObjectClassProp( CswNbtPropertySetGeneratorTarget.PropertyName.Generator );
                        CswNbtMetaDataNodeTypeProp IsFutureProp = TargetNodeType.getNodeTypePropByObjectClassProp( CswNbtPropertySetGeneratorTarget.PropertyName.IsFuture );

                        CswNbtView View = new CswNbtView( _CswNbtResources );
                        View.ViewName = "CswNbtObjClassSchedule.beforeDeleteNode()";
                        CswNbtViewRelationship GeneratorRelationship = View.AddViewRelationship( GeneratorObjectClass, false );
                        GeneratorRelationship.NodeIdsToFilterIn.Add( _CswNbtNode.NodeId );
                        CswNbtViewRelationship TargetRelationship = View.AddViewRelationship( GeneratorRelationship, CswEnumNbtViewPropOwnerType.Second, GeneratorProp, false );
                        CswNbtViewProperty IsFutureProperty = View.AddViewProperty( TargetRelationship, IsFutureProp );
                        View.AddViewPropertyFilter( IsFutureProperty, CswNbtFieldTypeRuleLogical.SubFieldName.Checked, CswEnumNbtFilterMode.Equals, CswEnumTristate.True );

                        ICswNbtTree TargetTree = _CswNbtResources.Trees.getTreeFromView( _CswNbtResources.CurrentNbtUser, View, true, false, false );

                        TargetTree.goToRoot();
                        if( TargetTree.getChildNodeCount() > 0 ) // should always be the case
                        {
                            TargetTree.goToNthChild( 0 );
                            if( TargetTree.getChildNodeCount() > 0 ) // might not always be the case
                            {
                                for( int i = 0; i < TargetTree.getChildNodeCount(); i += 1 )
                                {
                                    TargetTree.goToNthChild( i );

                                    CswNbtNode TargetNode = TargetTree.getNodeForCurrentPosition();
                                    TargetNode.delete();

                                    TargetTree.goToParentNode();
                                }
                            }
                        }
                    }
                }
            }
        }
Esempio n. 23
0
        } // CalculateMTBF()

        private Int32 _countProblems(DateTime StartDate, DateTime EndDate)
        {
            Int32 ret = 0;

            if (this.NodeId != null)
            {
                // BZ 6779
                CswNbtMetaDataObjectClass     ProblemOC     = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ProblemClass);
                CswNbtMetaDataObjectClassProp OwnerOCP      = ProblemOC.getObjectClassProp(CswNbtObjClassProblem.PropertyName.Owner);
                CswNbtMetaDataObjectClassProp FailureOCP    = ProblemOC.getObjectClassProp(CswNbtObjClassProblem.PropertyName.Failure);
                CswNbtMetaDataObjectClassProp DateOpenedOCP = ProblemOC.getObjectClassProp(CswNbtObjClassProblem.PropertyName.DateOpened);


                CswNbtView ProblemFailuresView = new CswNbtView(_CswNbtResources);
                ProblemFailuresView.ViewName = "Problem Failures";
                CswNbtViewRelationship ParentRelationship = ProblemFailuresView.AddViewRelationship(this.NodeTypeProp.getNodeType(), true);
                ParentRelationship.NodeIdsToFilterIn.Add(this.NodeId);
                CswNbtViewRelationship ChildRelationship = ProblemFailuresView.AddViewRelationship(ParentRelationship,
                                                                                                   CswEnumNbtViewPropOwnerType.Second,
                                                                                                   OwnerOCP, true);
                // BZ 10277 - Only Problems flagged Failure
                CswNbtViewProperty       FailureVP     = ProblemFailuresView.AddViewProperty(ChildRelationship, FailureOCP);
                CswNbtViewPropertyFilter FailureFilter = ProblemFailuresView.AddViewPropertyFilter(FailureVP, CswNbtFieldTypeRuleLogical.SubFieldName.Checked, CswEnumNbtFilterMode.Equals, CswEnumTristate.True.ToString(), false);

                // BZ 10259...within the calculation date scope
                CswNbtViewProperty       DateOpenedVP          = ProblemFailuresView.AddViewProperty(ChildRelationship, DateOpenedOCP);
                CswNbtViewPropertyFilter DateOpenedStartFilter = ProblemFailuresView.AddViewPropertyFilter(DateOpenedVP, CswNbtFieldTypeRuleDateTime.SubFieldName.Value, CswEnumNbtFilterMode.GreaterThanOrEquals, StartDate.ToString(), false);
                CswNbtViewPropertyFilter DateOpenedEndFilter   = ProblemFailuresView.AddViewPropertyFilter(DateOpenedVP, CswNbtFieldTypeRuleDateTime.SubFieldName.Value, CswEnumNbtFilterMode.LessThanOrEquals, EndDate.ToString(), false);

                ICswNbtTree ProblemNodesTree = _CswNbtResources.Trees.getTreeFromView(_CswNbtResources.CurrentNbtUser, ProblemFailuresView, true, false, false);

                if (ProblemNodesTree.getChildNodeCount() > 0)
                {
                    ProblemNodesTree.goToNthChild(0);
                    ret = ProblemNodesTree.getChildNodeCount();
                }
            }

            return(ret);
        } // _countProblems()
Esempio n. 24
0
        private static ICswNbtTree _getPendingBatchOpsTree(CswNbtResources CswNbtResources)
        {
            CswNbtMetaDataObjectClass     BatchOpOC   = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.BatchOpClass);
            CswNbtMetaDataObjectClassProp StatusOCP   = BatchOpOC.getObjectClassProp(CswNbtObjClassBatchOp.PropertyName.Status);
            CswNbtMetaDataObjectClassProp PriorityOCP = BatchOpOC.getObjectClassProp(CswNbtObjClassBatchOp.PropertyName.Priority);


            CswNbtView             NextBatchOpView = new CswNbtView(CswNbtResources);
            CswNbtViewRelationship BatchVR         = NextBatchOpView.AddViewRelationship(BatchOpOC, false);
            CswNbtViewProperty     StatusVP        = NextBatchOpView.AddViewProperty(BatchVR, StatusOCP);

            NextBatchOpView.AddViewPropertyFilter(StatusVP, FilterMode: CswEnumNbtFilterMode.NotEquals, Value: CswEnumNbtBatchOpStatus.Completed.ToString());
            NextBatchOpView.AddViewPropertyFilter(StatusVP, FilterMode: CswEnumNbtFilterMode.NotEquals, Value: CswEnumNbtBatchOpStatus.Error.ToString());
            NextBatchOpView.AddViewPropertyFilter(StatusVP, FilterMode: CswEnumNbtFilterMode.NotEquals, Value: CswEnumNbtBatchOpStatus.Unknown.ToString());
            CswNbtViewProperty PriorityVP = NextBatchOpView.AddViewProperty(BatchVR, PriorityOCP);

            NextBatchOpView.setSortProperty(PriorityVP, CswEnumNbtViewPropertySortMethod.Descending);

            ICswNbtTree BatchOpTree = CswNbtResources.Trees.getTreeFromView(NextBatchOpView, false, true, false);

            return(BatchOpTree);
        }
Esempio n. 25
0
        }//makeNodeFromNodeTypeId()

        /// <summary>
        /// Fetches a User Node from the Username, using a View and a TreeLoader.
        /// </summary>
        /// <remarks>
        /// not sure if this belongs here in CswNbtNodeCollection
        /// </remarks>
        /// <param name="Username">Username of User</param>
        /// <param name="RequireViewPermissions"></param>
        public CswNbtNode makeUserNodeFromUsername(string Username, bool RequireViewPermissions = true)
        {
            CswTimer   Timer    = new CswTimer();
            CswNbtNode UserNode = null;

            CswNbtMetaDataObjectClass     User_ObjectClass         = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.UserClass);
            CswNbtMetaDataObjectClassProp UserName_ObjectClassProp = User_ObjectClass.getObjectClassProp(CswNbtObjClassUser.PropertyName.Username);

            _CswNbtResources.logTimerResult("makeUserNodeFromUsername 1", Timer);

            // generate the view
            CswNbtView View = new CswNbtView(_CswNbtResources);

            View.ViewName = "CswNbtNodes.makeUserNodeFromUsername(" + Username + ")";
            CswNbtViewRelationship   UserRelationship = View.AddViewRelationship(User_ObjectClass, false);
            CswNbtViewProperty       Prop             = View.AddViewProperty(UserRelationship, UserName_ObjectClassProp);
            CswNbtViewPropertyFilter Filter           = View.AddViewPropertyFilter(Prop, CswNbtFieldTypeRuleText.SubFieldName.Text, CswEnumNbtFilterMode.Equals, Username, false);

            _CswNbtResources.logTimerResult("makeUserNodeFromUsername 2", Timer);

            // generate the tree
            ICswNbtTree UserTree = _CswNbtResources.Trees.getTreeFromView(View, RequireViewPermissions, true, IncludeHiddenNodes: true);

            _CswNbtResources.logTimerResult("makeUserNodeFromUsername 3", Timer);

            // get user node
            UserTree.goToRoot();
            if (UserTree.getChildNodeCount() > 0)
            {
                UserTree.goToNthChild(0);
                _CswNbtResources.logTimerResult("makeUserNodeFromUsername 4", Timer);
                UserNode = UserTree.getNodeForCurrentPosition();
            }
            //else
            //{
            //    foreach( CswNbtMetaDataNodeType UserNodeTypes in User_ObjectClass.NodeTypes )
            //    {
            //        foreach( CswNbtNode user in UserNodeTypes.getNodes( true, false ) )
            //        {
            //            if( user.Properties[UserName_ObjectClassProp.PropName].AsText.Text == Username )
            //            {
            //                UserNode = user;
            //                break;
            //            }
            //        }
            //    }
            _CswNbtResources.logTimerResult("makeUserNodeFromUsername 5", Timer);
            return(UserNode);
        }
Esempio n. 26
0
        private void _addDefaultInspectionDesignViewPropsAndFilters(CswNbtView View, CswNbtViewRelationship InspectionDesignVr, CswNbtMetaDataObjectClass InspectionDesignOc)
        {
            CswNbtViewProperty DueDateVp = View.AddViewPropertyByName(InspectionDesignVr, InspectionDesignOc, CswNbtObjClassInspectionDesign.PropertyName.DueDate);

            DueDateVp.SortBy = true;

            CswNbtViewProperty LocationVp = View.AddViewPropertyByName(InspectionDesignVr, InspectionDesignOc, CswNbtObjClassInspectionDesign.PropertyName.Location);

            LocationVp.SortBy = true;

            View.AddViewPropertyByName(InspectionDesignVr, InspectionDesignOc, "Barcode");

            CswNbtMetaDataObjectClassProp StatusOcp = InspectionDesignOc.getObjectClassProp(CswNbtObjClassInspectionDesign.PropertyName.Status);
            CswNbtViewProperty            StatusVp  = View.AddViewProperty(InspectionDesignVr, StatusOcp);
            string Completed     = CswEnumNbtInspectionStatus.Completed;
            string Cancelled     = CswEnumNbtInspectionStatus.Cancelled;
            string CompletedLate = CswEnumNbtInspectionStatus.CompletedLate;
            string Missed        = CswEnumNbtInspectionStatus.Missed;

            View.AddViewPropertyFilter(StatusVp, StatusOcp.getFieldTypeRule().SubFields.Default.Name, CswEnumNbtFilterMode.NotEquals, Completed, false);
            View.AddViewPropertyFilter(StatusVp, StatusOcp.getFieldTypeRule().SubFields.Default.Name, CswEnumNbtFilterMode.NotEquals, Cancelled, false);
            View.AddViewPropertyFilter(StatusVp, StatusOcp.getFieldTypeRule().SubFields.Default.Name, CswEnumNbtFilterMode.NotEquals, CompletedLate, false);
            View.AddViewPropertyFilter(StatusVp, StatusOcp.getFieldTypeRule().SubFields.Default.Name, CswEnumNbtFilterMode.NotEquals, Missed, false);
        }
Esempio n. 27
0
        private CswNbtView _getReconciliationView(ContainerData.ReconciliationRequest Request)
        {
            Collection <CswPrimaryKey> LocationIds = _getLocationIds(Request);

            CswNbtMetaDataObjectClass     LocationOC          = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.LocationClass);
            CswNbtMetaDataObjectClass     ContainerOC         = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerClass);
            CswNbtMetaDataObjectClassProp LocationOCP         = ContainerOC.getObjectClassProp(CswNbtObjClassContainer.PropertyName.Location);
            CswNbtMetaDataObjectClassProp DateCreatedOCP      = ContainerOC.getObjectClassProp(CswNbtObjClassContainer.PropertyName.DateCreated);
            CswNbtMetaDataObjectClassProp DisposedOCP         = ContainerOC.getObjectClassProp(CswNbtObjClassContainer.PropertyName.Disposed);
            CswNbtMetaDataObjectClass     ContainerLocationOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerLocationClass);
            CswNbtMetaDataObjectClassProp ContainerOCP        = ContainerLocationOC.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.Container);
            CswNbtMetaDataObjectClassProp ScanDateOCP         = ContainerLocationOC.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.ScanDate);

            CswNbtView ContainersView = new CswNbtView(_CswNbtResources);

            CswNbtViewRelationship LocationVR = ContainersView.AddViewRelationship(LocationOC, false);

            LocationVR.NodeIdsToFilterIn = LocationIds;
            CswNbtViewRelationship ContainerVR   = ContainersView.AddViewRelationship(LocationVR, CswEnumNbtViewPropOwnerType.Second, LocationOCP, false);
            CswNbtViewProperty     DateCreatedVP = ContainersView.AddViewProperty(ContainerVR, DateCreatedOCP);

            ContainersView.AddViewPropertyFilter(DateCreatedVP, FilterMode: CswEnumNbtFilterMode.LessThanOrEquals, Value: Request.EndDate);
            CswNbtViewProperty     DisposedVP          = ContainersView.AddViewProperty(ContainerVR, DisposedOCP);
            CswNbtViewRelationship ContainerLocationVR = ContainersView.AddViewRelationship(ContainerVR, CswEnumNbtViewPropOwnerType.Second, ContainerOCP, false);
            CswNbtViewProperty     ScanDateVP          = ContainersView.AddViewProperty(ContainerLocationVR, ScanDateOCP);

            if (CswConvert.ToDateTime(Request.StartDate) > CswConvert.ToDateTime(Request.EndDate))
            {
                Request.StartDate = Request.EndDate;
            }
            ContainersView.AddViewPropertyFilter(ScanDateVP, FilterMode: CswEnumNbtFilterMode.GreaterThanOrEquals, Value: Request.StartDate);
            ContainersView.AddViewPropertyFilter(ScanDateVP, FilterMode: CswEnumNbtFilterMode.LessThanOrEquals, Value: Request.EndDate);
            ContainersView.setSortProperty(ScanDateVP, CswEnumNbtViewPropertySortMethod.Descending);

            return(ContainersView);
        }
Esempio n. 28
0
        public CswNbtView getTreeViewOfFutureNodes(IEnumerable GeneratorNodes)
        {
            CswNbtView ReturnVal = new CswNbtView(_CswNbtResources);

            ReturnVal.ViewName = "All Future Nodes";
            CswNbtMetaDataObjectClass GeneratorObjectClass  = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.GeneratorClass);
            CswNbtViewRelationship    GeneratorRelationship = ReturnVal.AddViewRelationship(GeneratorObjectClass, false);

            ArrayList TargetNodeTypeIds = new ArrayList();

            foreach (CswNbtNode CurrentGeneratorNode in GeneratorNodes)
            {
                GeneratorRelationship.NodeIdsToFilterIn.Add(CurrentGeneratorNode.NodeId);
                CswNbtObjClassGenerator Generator = CurrentGeneratorNode;
                foreach (String nodeTypeId in Generator.TargetType.SelectedNodeTypeIds)
                {
                    Int32 CurrentTargetNodeTypeId = CswConvert.ToInt32(nodeTypeId);
                    if (!(TargetNodeTypeIds.Contains(CurrentTargetNodeTypeId)))
                    {
                        TargetNodeTypeIds.Add(CurrentTargetNodeTypeId);
                    }
                }
            }

            foreach (Int32 TargetNodeTypeId in TargetNodeTypeIds)
            {
                CswNbtMetaDataNodeType TargetNodeType = _CswNbtResources.MetaData.getNodeType(TargetNodeTypeId);
                if (TargetNodeType != null)
                {
                    CswNbtMetaDataObjectClass TargetObjectClass = TargetNodeType.getObjectClass();

                    CswNbtObjClass TargetObjClass = CswNbtObjClassFactory.makeObjClass(_CswNbtResources, TargetObjectClass);
                    if (!(TargetObjClass is CswNbtPropertySetGeneratorTarget))
                    {
                        throw new CswDniException("CswNbtActGenerateFutureNodes.getTreeViewOfFutureNodes() got an invalid object class: " + TargetObjectClass.ObjectClass);
                    }

                    CswNbtViewRelationship   TargetRelationship   = ReturnVal.AddViewRelationship(GeneratorRelationship, CswEnumNbtViewPropOwnerType.Second, TargetNodeType.getNodeTypePropByObjectClassProp(CswNbtPropertySetGeneratorTarget.PropertyName.Generator), false);
                    CswNbtViewProperty       IsFutureFlagProperty = ReturnVal.AddViewProperty(TargetRelationship, TargetNodeType.getNodeTypePropByObjectClassProp(CswNbtPropertySetGeneratorTarget.PropertyName.IsFuture));
                    CswNbtViewPropertyFilter IsFutureFilter       = ReturnVal.AddViewPropertyFilter(IsFutureFlagProperty, CswNbtFieldTypeRuleLogical.SubFieldName.Checked, CswEnumNbtFilterMode.Equals, CswEnumTristate.True, false);
                }
            }

            return(ReturnVal);
        }//getTreeViewOfFutureNodes()
Esempio n. 29
0
        public override void update()
        {
            CswNbtMetaDataObjectClass TaskOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.TaskClass );
            CswNbtMetaDataObjectClassProp DueDataOCP = TaskOC.getObjectClassProp( CswNbtObjClassTask.PropertyName.DueDate );
            CswNbtMetaDataObjectClassProp DoneOnOCP = TaskOC.getObjectClassProp( CswNbtObjClassTask.PropertyName.DoneOn );
            CswNbtMetaDataObjectClassProp CompletedOCP = TaskOC.getObjectClassProp( CswNbtObjClassTask.PropertyName.Completed );
            CswNbtMetaDataObjectClassProp SummaryOCP = TaskOC.getObjectClassProp( CswNbtObjClassTask.PropertyName.Summary );
            CswNbtMetaDataObjectClassProp OwnerOCP = TaskOC.getObjectClassProp( CswNbtObjClassTask.PropertyName.Owner ); //Equipment or Assembly for NTs
            CswNbtMetaDataObjectClassProp TechOCP = TaskOC.getObjectClassProp( CswNbtObjClassTask.PropertyName.Technician );
            //Location could not be upgraded to an OCP (See BV) so we just get the first Location NTP
            CswNbtMetaDataNodeTypeProp LocationNTP = null;
            CswNbtMetaDataNodeType FirstTaskNT = TaskOC.getNodeTypes().FirstOrDefault();
            if( null != FirstTaskNT )
            {
                LocationNTP = FirstTaskNT.getNodeTypeProp( "Location" );
            }

            CswNbtView CompletedTasks = _CswNbtSchemaModTrnsctn.makeSafeView( "Tasks: Completed", CswEnumNbtViewVisibility.Global );
            CompletedTasks.SetViewMode( CswEnumNbtViewRenderingMode.Grid );
            CompletedTasks.Category = "Tasks";
            CswNbtViewRelationship parent = CompletedTasks.AddViewRelationship( TaskOC, true );

            CompletedTasks.AddViewProperty( parent, DueDataOCP, 1 );
            CompletedTasks.AddViewProperty( parent, DoneOnOCP, 2 );

            CswNbtViewProperty completedVP = CompletedTasks.AddViewProperty( parent, CompletedOCP );
            CompletedTasks.AddViewPropertyFilter( completedVP, Value: true.ToString() );
            completedVP.ShowInGrid = false;

            CompletedTasks.AddViewProperty( parent, SummaryOCP, 3 );

            CompletedTasks.AddViewProperty( parent, OwnerOCP, 4 );

            if( null != LocationNTP )
            {
                CompletedTasks.AddViewProperty( parent, LocationNTP, 5 );
            }

            CompletedTasks.AddViewProperty( parent, TechOCP, 6 );

            CompletedTasks.save();


        } // update()
Esempio n. 30
0
        private void _updateUnapprovedMaterialsView()
        {
            CswNbtMetaDataObjectClass MaterialOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ChemicalClass );
            CswNbtMetaDataObjectClassProp MaterialIdProp = MaterialOC.getObjectClassProp( CswNbtPropertySetMaterial.PropertyName.MaterialId );
            CswNbtMetaDataObjectClassProp TradeNameProp = MaterialOC.getObjectClassProp( CswNbtPropertySetMaterial.PropertyName.TradeName );
            CswNbtMetaDataObjectClassProp SupplierProp = MaterialOC.getObjectClassProp( CswNbtPropertySetMaterial.PropertyName.Supplier );
            CswNbtMetaDataObjectClassProp PartNoProp = MaterialOC.getObjectClassProp( CswNbtPropertySetMaterial.PropertyName.PartNumber );
            CswNbtMetaDataObjectClassProp CASNoProp = MaterialOC.getObjectClassProp( CswNbtObjClassChemical.PropertyName.CasNo );

            CswNbtView UnapprovedMaterialsView = _CswNbtSchemaModTrnsctn.restoreView( "Unapproved Materials", CswEnumNbtViewVisibility.Global );
            if( null == UnapprovedMaterialsView )
            {
                UnapprovedMaterialsView = _CswNbtSchemaModTrnsctn.makeNewView( "Unapproved Materials", CswEnumNbtViewVisibility.Global );
                UnapprovedMaterialsView.ViewMode = CswEnumNbtViewRenderingMode.Grid;
                UnapprovedMaterialsView.Category = "Materials";
            }
            else
            {
                UnapprovedMaterialsView.Root.ChildRelationships.Clear();
            }

            CswNbtViewRelationship MatRel = UnapprovedMaterialsView.AddViewRelationship( MaterialPS, true );
            CswNbtViewProperty ApprovedForReceivingPropVP = 
                MaterialOC.getNodeTypes()
                .Select( MaterialNT => MaterialNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetMaterial.PropertyName.ApprovedForReceiving ) )
                .Select( ApprovedForReceivingProp => UnapprovedMaterialsView.AddViewProperty( MatRel, ApprovedForReceivingProp ) ).FirstOrDefault();
            UnapprovedMaterialsView.AddViewPropertyFilter( ApprovedForReceivingPropVP,
                                          CswEnumNbtFilterConjunction.And,
                                          CswEnumNbtFilterResultMode.Hide,
                                          CswEnumNbtSubFieldName.Checked,
                                          CswEnumNbtFilterMode.Equals,
                                          "false");
            UnapprovedMaterialsView.AddViewProperty( MatRel, MaterialIdProp, 1 );
            UnapprovedMaterialsView.AddViewProperty( MatRel, TradeNameProp, 2 );
            UnapprovedMaterialsView.AddViewProperty( MatRel, SupplierProp, 3 );
            UnapprovedMaterialsView.AddViewProperty( MatRel, PartNoProp, 4 );
            UnapprovedMaterialsView.AddViewProperty( MatRel, CASNoProp, 5 );
            UnapprovedMaterialsView.save();
        }