/// <summary>
        /// Hide props that should not be present on Request Items that are marked as Recurring
        /// Make props that should not be edited on Recurring Request Items readonly
        /// </summary>
        protected void setRecurringPropVisibility(CswNbtNodeProp Prop)
        {
            switch (Prop.PropName)
            {
            case CswNbtObjClassRequestItem.PropertyName.Status:
            case CswNbtObjClassRequestItem.PropertyName.ExternalOrderNumber:
            case CswNbtObjClassRequestItem.PropertyName.ItemNumber:
            case CswNbtObjClassRequestItem.PropertyName.AssignedTo:
            case CswNbtObjClassRequestItem.PropertyName.NeededBy:
            case CswNbtObjClassRequestItem.PropertyName.Priority:
            case CswNbtObjClassRequestItem.PropertyName.TotalDispensed:
            case CswNbtObjClassRequestItem.PropertyName.TotalMoved:
            case CswNbtObjClassRequestItem.PropertyName.Comments:
            case CswNbtObjClassRequestItem.PropertyName.FulfillmentHistory:
            case CswNbtObjClassRequestItem.PropertyName.ReceiptLotToDispense:
            case CswNbtObjClassRequestItem.PropertyName.ReceiptLotsReceived:
            case CswNbtObjClassRequestItem.PropertyName.GoodsReceived:
                Prop.setHidden(true, SaveToDb: false);
                break;

            case CswNbtObjClassRequestItem.PropertyName.InventoryGroup:
            case CswNbtObjClassRequestItem.PropertyName.Location:
            case CswNbtObjClassRequestItem.PropertyName.Quantity:
            case CswNbtObjClassRequestItem.PropertyName.Size:
            case CswNbtObjClassRequestItem.PropertyName.SizeCount:
                Prop.setReadOnly(true, SaveToDb: false);
                break;
            }
        }
        public override void setPropUIVisibility(CswNbtNodeProp Prop)
        {
            switch (Prop.PropName)
            {
            case CswNbtObjClassRequestItem.PropertyName.Location:
            case CswNbtObjClassRequestItem.PropertyName.ExternalOrderNumber:
            case CswNbtObjClassRequestItem.PropertyName.EnterprisePart:
            case CswNbtObjClassRequestItem.PropertyName.Material:
            case CswNbtObjClassRequestItem.PropertyName.Quantity:
            case CswNbtObjClassRequestItem.PropertyName.TotalDispensed:
            case CswNbtObjClassRequestItem.PropertyName.Size:
            case CswNbtObjClassRequestItem.PropertyName.SizeCount:
            case CswNbtObjClassRequestItem.PropertyName.TotalMoved:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialType:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialTradename:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialSupplier:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialPartNo:
            case CswNbtObjClassRequestItem.PropertyName.GoodsReceived:
            case CswNbtObjClassRequestItem.PropertyName.ReceiptLotToDispense:
            case CswNbtObjClassRequestItem.PropertyName.ReceiptLotsReceived:
                Prop.setHidden(true, SaveToDb: false);
                break;

            case CswNbtObjClassRequestItem.PropertyName.InventoryGroup:
                Prop.setReadOnly(true, SaveToDb: false);
                break;
            }
        }
Example #3
0
        public override void setPropUIVisibility(CswNbtNodeProp Prop)
        {
            bool IsVisible = true;

            switch (Prop.PropName)
            {
            case CswNbtObjClassRequestItem.PropertyName.Container:
            case CswNbtObjClassRequestItem.PropertyName.EnterprisePart:
            case CswNbtObjClassRequestItem.PropertyName.Size:
            case CswNbtObjClassRequestItem.PropertyName.SizeCount:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialType:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialTradename:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialSupplier:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialPartNo:
                Prop.setHidden(true, SaveToDb: false);
                IsVisible = false;
                break;

            case CswNbtObjClassRequestItem.PropertyName.Material:
                Prop.setReadOnly(true, SaveToDb: false);
                break;
            }
            if (IsVisible && _RequestItem.IsRecurring.Checked == CswEnumTristate.True)
            {
                setRecurringPropVisibility(Prop);
            }
        }
Example #4
0
        } //beforeDeleteNode()

        private void hideButtonProp(CswNbtNodeProp ButtonProp)
        {
            if (false == _CswNbtResources.Permit.canAnyTab(CswEnumNbtNodeTypePermission.Edit, NodeType) || Node.Locked)
            {
                ButtonProp.setHidden(value: false, SaveToDb: Node.Locked);
            }
            else if (ButtonProp.PropName == PropertyName.SetPreferred &&
                     (Status.Value == CswEnumNbtInspectionStatus.Overdue ||
                      Status.Value == CswEnumNbtInspectionStatus.ActionRequired ||
                      Status.Value == CswEnumNbtInspectionStatus.Pending))
            {
                bool IsVisible = (Status.Value == CswEnumNbtInspectionStatus.Pending || Status.Value == CswEnumNbtInspectionStatus.Overdue) &&
                                 false == _InspectionState.AllAnswered;
                ButtonProp.setHidden(value: false == IsVisible, SaveToDb: Node.Locked);
            }
        }
        public override void setPropUIVisibility(CswNbtNodeProp Prop)
        {
            switch (Prop.PropName)
            {
            case CswNbtObjClassRequestItem.PropertyName.Container:
            case CswNbtObjClassRequestItem.PropertyName.EnterprisePart:
            case CswNbtObjClassRequestItem.PropertyName.Size:
            case CswNbtObjClassRequestItem.PropertyName.SizeCount:
            case CswNbtObjClassRequestItem.PropertyName.TotalMoved:
                Prop.setHidden(true, SaveToDb: false);
                break;

            //This is a special case that lets the Request-fulfiller choose an existing Material for MaterialCreate Request Items.
            //We may consider an alternative way to choose said Material in the future.
            //If and when that day comes, remove this (and other related) logic and make Material ServerManaged.
            case CswNbtObjClassRequestItem.PropertyName.Material:
                Prop.setHidden(_RequestItem.Status.Value == CswNbtObjClassRequestItem.Statuses.Pending, SaveToDb: false);
                break;
            }
        }
        public override void setPropUIVisibility(CswNbtNodeProp Prop)
        {
            bool IsVisible = true;

            switch (Prop.PropName)
            {
            case CswNbtObjClassRequestItem.PropertyName.Container:
            case CswNbtObjClassRequestItem.PropertyName.EnterprisePart:
            case CswNbtObjClassRequestItem.PropertyName.Quantity:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialType:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialTradename:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialSupplier:
            case CswNbtObjClassRequestItem.PropertyName.NewMaterialPartNo:
                Prop.setHidden(true, SaveToDb: false);
                IsVisible = false;
                break;

            case CswNbtObjClassRequestItem.PropertyName.Material:
                Prop.setReadOnly(true, SaveToDb: false);
                break;

            case CswNbtObjClassRequestItem.PropertyName.Size:
                //Case 31302 - Filter Size options to requested Material
                CswNbtMetaDataObjectClass     SizeOc          = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.SizeClass);
                CswNbtMetaDataObjectClassProp SizeMaterialOcp = SizeOc.getObjectClassProp(CswNbtObjClassSize.PropertyName.Material);
                CswNbtView SizeView = _CswNbtResources.ViewSelect.restoreView(_RequestItem.Size.View.ViewId);
                SizeView.Root.ChildRelationships.Clear();
                CswNbtViewRelationship SizeVr = SizeView.AddViewRelationship(SizeOc, false);
                SizeView.AddViewPropertyAndFilter(SizeVr, SizeMaterialOcp, _RequestItem.Material.RelatedNodeId.PrimaryKey.ToString(), CswEnumNbtSubFieldName.NodeID);
                SizeView.AddViewPropertyAndFilter(SizeVr, SizeOc.getObjectClassProp(CswNbtObjClassSize.PropertyName.Dispensable), "false", FilterMode: CswEnumNbtFilterMode.NotEquals);
                SizeView.AddViewPropertyAndFilter(SizeVr, SizeOc.getObjectClassProp(CswNbtObjClassSize.PropertyName.InitialQuantity), FilterMode: CswEnumNbtFilterMode.NotNull, SubFieldName: CswEnumNbtSubFieldName.Value);
                SizeView.AddViewPropertyAndFilter(SizeVr, SizeOc.getObjectClassProp(CswNbtObjClassSize.PropertyName.UnitCount), FilterMode: CswEnumNbtFilterMode.NotNull);
                SizeView.save();
                _RequestItem.Size.OverrideView(SizeView);
                break;
            }
            if (IsVisible && _RequestItem.IsRecurring.Checked == CswEnumTristate.True)
            {
                setRecurringPropVisibility(Prop);
            }
        }
 /// <summary>
 /// Hide props that should not be present on Pending Request Items;
 /// Make props that should not be edited once Request Item has been submitted readonly
 /// </summary>
 protected void setPropVisibilityBasedOnPendingStatus(CswNbtNodeProp Prop)
 {
     if (_RequestItem.Status.Value == CswNbtObjClassRequestItem.Statuses.Pending)
     {
         switch (Prop.PropName)
         {
         case CswNbtObjClassRequestItem.PropertyName.Requestor:
         case CswNbtObjClassRequestItem.PropertyName.Priority:
         case CswNbtObjClassRequestItem.PropertyName.TotalDispensed:
         case CswNbtObjClassRequestItem.PropertyName.TotalMoved:
         case CswNbtObjClassRequestItem.PropertyName.FulfillmentHistory:
         case CswNbtObjClassRequestItem.PropertyName.ReceiptLotToDispense:
         case CswNbtObjClassRequestItem.PropertyName.ReceiptLotsReceived:
         case CswNbtObjClassRequestItem.PropertyName.GoodsReceived:
             Prop.setHidden(true, SaveToDb: false);
             break;
         }
     }
     else
     {
         switch (Prop.PropName)
         {
         case CswNbtObjClassRequestItem.PropertyName.InventoryGroup:
         case CswNbtObjClassRequestItem.PropertyName.Location:
         case CswNbtObjClassRequestItem.PropertyName.Requestor:
         case CswNbtObjClassRequestItem.PropertyName.Quantity:
         case CswNbtObjClassRequestItem.PropertyName.Size:
         case CswNbtObjClassRequestItem.PropertyName.SizeCount:
         case CswNbtObjClassRequestItem.PropertyName.NewMaterialType:
         case CswNbtObjClassRequestItem.PropertyName.NewMaterialTradename:
         case CswNbtObjClassRequestItem.PropertyName.NewMaterialSupplier:
         case CswNbtObjClassRequestItem.PropertyName.NewMaterialPartNo:
             Prop.setReadOnly(true, SaveToDb: false);
             break;
         }
     }
 }