}                                                                                         //&& _CswNbtResources.Modules.IsModuleEnabled( CswNbtModuleName.MLM ); } }
        private void onIsRecurringChange(CswNbtNodeProp NodeProp)
        {
            if (IsRecurring.WasModified)
            {
                //Both Recurring and Favorites will be 'copied' at some frequency back to genuine Pending Request Items
                //Support both directions

                _toggleRequestItemPropVisibility();
                if (_IsRecurring)
                {
                    //Case 29393: Use a better status than ""
                    Status.Value = NonRequestableStatus;
                    RecurringFrequency.setHidden(value: false, SaveToDb: true);
                    NextReorderDate.setHidden(value: false, SaveToDb: true);
                    Name.setHidden(value: true, SaveToDb: true);
                }
                else if (false == _IsFavorite)
                {
                    if (string.IsNullOrEmpty(Status.Value) || Status.Value == NonRequestableStatus)
                    {
                        Status.Value = Statuses.Pending;
                    }
                    IsRecurring.setHidden(value: true, SaveToDb: true);
                    RecurringFrequency.setHidden(value: true, SaveToDb: true);
                    NextReorderDate.setHidden(value: true, SaveToDb: true);
                }
            }
        }
        /// <summary>
        ///
        /// </summary>
        public override void onStatusPropChange(CswNbtNodeProp Prop)
        {
            if (Status.WasModified && Status.Value != NonRequestableStatus)
            {
                if (Status.Value == Statuses.Pending)
                {
                    TotalDispensed.setHidden(value: true, SaveToDb: true);
                    TotalMoved.setHidden(value: true, SaveToDb: true);
                    Type.setHidden(value: true, SaveToDb: true);
                    Quantity.setReadOnly(value: false, SaveToDb: true);
                    Size.setReadOnly(value: false, SaveToDb: true);
                    Count.setReadOnly(value: false, SaveToDb: true);

                    //MLM
                    if (_CswNbtResources.Modules.IsModuleEnabled(CswEnumNbtModuleName.MLM))
                    {
                        foreach (string PropName in PropertyName.MLMCmgTabProps)
                        {
                            _CswNbtNode.Properties[PropName].setHidden(value: true, SaveToDb: true);
                        }
                        foreach (string PropName in PropertyName.MLMReceiveTabProps)
                        {
                            _CswNbtNode.Properties[PropName].setHidden(value: true, SaveToDb: true);
                        }
                    }
                }
                else
                {
                    if (Type.Value == Types.Size)
                    {
                        TotalDispensed.setHidden(value: true, SaveToDb: true);
                        TotalMoved.setHidden(value: false, SaveToDb: true);
                    }
                    else
                    {
                        TotalDispensed.setHidden(value: false, SaveToDb: true);
                        TotalMoved.setHidden(value: true, SaveToDb: true);
                    }
                    Type.setHidden(value: false, SaveToDb: true);
                    Quantity.setReadOnly(value: true, SaveToDb: true);
                    Size.setReadOnly(value: true, SaveToDb: true);
                    Count.setReadOnly(value: true, SaveToDb: true);
                    //MLM
                    if (_CswNbtResources.Modules.IsModuleEnabled(CswEnumNbtModuleName.MLM))
                    {
                        IsRecurring.setHidden(value: false, SaveToDb: true);
                        foreach (string PropName in PropertyName.MLMCmgTabProps)
                        {
                            _CswNbtNode.Properties[PropName].setHidden(value: false, SaveToDb: true);
                        }
                        foreach (string PropName in PropertyName.MLMReceiveTabProps)
                        {
                            _CswNbtNode.Properties[PropName].setHidden(value: false, SaveToDb: true);
                        }
                    }
                }
                switch (Status.Value)
                {
                case Statuses.Received:
                    Fulfill.State = FulfillMenu.Dispense;
                    break;

                case Statuses.Dispensed:
                    if (TotalDispensed.Quantity >= Quantity.Quantity)
                    {
                        Fulfill.State = FulfillMenu.Complete;
                    }
                    break;

                case Statuses.Moved:
                    if (TotalMoved.Value >= Count.Value)
                    {
                        Fulfill.State = FulfillMenu.Complete;
                    }
                    break;

                case Statuses.Ordered:
                    Fulfill.State = FulfillMenu.Receive;
                    break;
                }
            }
        }