public string renderViewPropFilter(ICswNbtUser RunAsUser, CswNbtViewPropertyFilter CswNbtViewPropertyFilterIn, Dictionary <string, string> ParameterCollection, int FilterNumber)
        {
            // BZ 7941
            bool UseNumericHack = CswNbtViewPropertyFilterIn.SubfieldName == SubFieldName.Value;

            return(_CswNbtFieldTypeRuleDefault.renderViewPropFilter(RunAsUser, CswNbtViewPropertyFilterIn, ParameterCollection, FilterNumber, UseNumericHack));
        }//makeWhereClause()
        public string renderViewPropFilter(ICswNbtUser RunAsUser, CswNbtViewPropertyFilter CswNbtViewPropertyFilterIn, Dictionary <string, string> ParameterCollection, int FilterNumber)
        {
            string ReturnVal = string.Empty;

            CswNbtSubField CswNbtSubField = null;

            CswNbtSubField = SubFields[CswNbtViewPropertyFilterIn.SubfieldName];

            if (!CswNbtSubField.SupportedFilterModes.Contains(CswNbtViewPropertyFilterIn.FilterMode))
            {
                throw (new CswDniException("Filter mode " + CswNbtViewPropertyFilterIn.FilterMode.ToString() + " is not supported for sub field: " + CswNbtSubField.Name + "; view name is: " + CswNbtViewPropertyFilterIn.View.ViewName));
            }

            // Are we using a Date filter?
            if (CswNbtSubField.Name == StartDateSubField.Name)
            {
                return(CswNbtFieldTypeRuleDateImpl.renderViewPropFilter(RunAsUser, _CswNbtFieldResources, CswNbtViewPropertyFilterIn, CswNbtSubField.Column));
            }
            else
            {
                ReturnVal = _CswNbtFieldTypeRuleDefault.renderViewPropFilter(RunAsUser, CswNbtViewPropertyFilterIn, ParameterCollection, FilterNumber);
            }

            return(ReturnVal);
        }//makeWhereClause()
        public string renderViewPropFilter(ICswNbtUser RunAsUser, CswNbtViewPropertyFilter CswNbtViewPropertyFilterIn, Dictionary <string, string> ParameterCollection, int FilterNumber)
        {
            //return ( _CswNbtFieldTypeRuleDefault.renderViewPropFilter( RunAsUser, SubFields, CswNbtViewPropertyFilterIn ) );

            CswEnumNbtSubFieldName OldSubfieldName = CswNbtViewPropertyFilterIn.SubfieldName;
            CswEnumNbtFilterMode   OldFilterMode   = CswNbtViewPropertyFilterIn.FilterMode;
            string OldValue = CswNbtViewPropertyFilterIn.Value;

            // BZ 8558
            if (OldSubfieldName == SubFieldName.Value && OldValue.ToLower() == "me")
            {
                CswNbtViewProperty Prop = (CswNbtViewProperty)CswNbtViewPropertyFilterIn.Parent;

                ICswNbtMetaDataProp MetaDataProp = null;
                if (Prop.Type == CswEnumNbtViewPropType.NodeTypePropId)
                {
                    MetaDataProp = Prop.NodeTypeProp;
                }
                else if (Prop.Type == CswEnumNbtViewPropType.ObjectClassPropId)
                {
                    MetaDataProp = _CswNbtFieldResources.CswNbtResources.MetaData.getObjectClassProp(Prop.ObjectClassPropId);
                }

                // Could be a propref of a propref, so we can't look at the relationship

                //ICswNbtMetaDataProp RelationshipProp = null;
                //if( MetaDataProp.FKType == NbtViewPropType.NodeTypePropId.ToString() )
                //    RelationshipProp = _CswNbtFieldResources.CswNbtResources.MetaData.getNodeTypeProp( MetaDataProp.FKValue);
                //else if( MetaDataProp.FKType == NbtViewPropType.ObjectClassPropId.ToString() )
                //    RelationshipProp = _CswNbtFieldResources.CswNbtResources.MetaData.getObjectClassProp( MetaDataProp.FKValue );

                //if( RelationshipProp != null && RelationshipProp.IsUserRelationship() )
                //{
                if (CswNbtViewPropertyFilterIn.Value.ToLower() == "me")
                {
                    CswNbtViewPropertyFilterIn.SubfieldName = SubFieldName.Value;
                    CswNbtViewPropertyFilterIn.FilterMode   = CswEnumNbtFilterMode.Equals;
                    CswNbtViewPropertyFilterIn.Value        = _CswNbtFieldResources.CswNbtResources.Nodes[RunAsUser.UserId].NodeName;
                }
                //}
            }
            string ret = _CswNbtFieldTypeRuleDefault.renderViewPropFilter(RunAsUser, CswNbtViewPropertyFilterIn, ParameterCollection, FilterNumber);

            CswNbtViewPropertyFilterIn.SubfieldName = OldSubfieldName;
            CswNbtViewPropertyFilterIn.FilterMode   = OldFilterMode;
            CswNbtViewPropertyFilterIn.Value        = OldValue;

            return(ret);
        }//makeWhereClause()
Beispiel #4
0
        public string renderViewPropFilter(ICswNbtUser RunAsUser, CswNbtViewPropertyFilter CswNbtViewPropertyFilterIn, Dictionary <string, string> ParameterCollection, int FilterNumber)
        {
            CswEnumNbtSubFieldName OldSubfieldName = CswNbtViewPropertyFilterIn.SubfieldName;
            CswEnumNbtFilterMode   OldFilterMode   = CswNbtViewPropertyFilterIn.FilterMode;
            string OldValue = CswNbtViewPropertyFilterIn.Value;

            // BZ 8558
            if (OldSubfieldName == SubFieldName.Name && OldValue.ToLower() == "me")
            {
                CswNbtViewProperty  Prop         = (CswNbtViewProperty)CswNbtViewPropertyFilterIn.Parent;
                ICswNbtMetaDataProp MetaDataProp = null;
                if (Prop.Type == CswEnumNbtViewPropType.NodeTypePropId)
                {
                    MetaDataProp = Prop.NodeTypeProp;
                }
                else if (Prop.Type == CswEnumNbtViewPropType.ObjectClassPropId)
                {
                    MetaDataProp = _CswNbtFieldResources.CswNbtResources.MetaData.getObjectClassProp(Prop.ObjectClassPropId);
                }

                if (MetaDataProp != null && MetaDataProp.IsUserRelationship())
                {
                    if (CswNbtViewPropertyFilterIn.Value.ToLower() == "me" && false == (RunAsUser is CswNbtSystemUser))
                    {
                        CswNbtViewPropertyFilterIn.SubfieldName = SubFieldName.NodeID;
                        CswNbtViewPropertyFilterIn.FilterMode   = CswEnumNbtFilterMode.Equals;
                        CswNbtViewPropertyFilterIn.Value        = RunAsUser.UserId.PrimaryKey.ToString();
                    }
                }
            }
            string ret = _CswNbtFieldTypeRuleDefault.renderViewPropFilter(RunAsUser, CswNbtViewPropertyFilterIn, ParameterCollection, FilterNumber);

            CswNbtViewPropertyFilterIn.SubfieldName = OldSubfieldName;
            CswNbtViewPropertyFilterIn.FilterMode   = OldFilterMode;
            CswNbtViewPropertyFilterIn.Value        = OldValue;

            return(ret);
        }
Beispiel #5
0
 public string renderViewPropFilter(ICswNbtUser RunAsUser, CswNbtViewPropertyFilter CswNbtViewPropertyFilterIn, Dictionary <string, string> ParameterCollection, int FilterNumber)
 {
     return(_CswNbtFieldTypeRuleDefault.renderViewPropFilter(RunAsUser, CswNbtViewPropertyFilterIn, ParameterCollection, FilterNumber));
 }//makeWhereClause()
        public string renderViewPropFilter(ICswNbtUser RunAsUser, CswNbtViewPropertyFilter CswNbtViewPropertyFilterIn, Dictionary <string, string> ParameterCollection, int FilterNumber)
        {
            string ReturnVal = string.Empty;

            CswNbtSubField CswNbtSubField = null;

            CswNbtSubField = SubFields[CswNbtViewPropertyFilterIn.SubfieldName];

            if (!CswNbtSubField.SupportedFilterModes.Contains(CswNbtViewPropertyFilterIn.FilterMode))
            {
                throw (new CswDniException("Filter mode " + CswNbtViewPropertyFilterIn.FilterMode.ToString() + " is not supported for sub field: " + CswNbtSubField.Name + "; view name is: " + CswNbtViewPropertyFilterIn.View.ViewName));
            }

            // Are we using a Date filter?
            if (CswNbtSubField.Name == DateAnsweredSubField.Name || CswNbtSubField.Name == DateCorrectedSubField.Name)
            {
                ReturnVal = CswNbtFieldTypeRuleDateImpl.renderViewPropFilter(RunAsUser, _CswNbtFieldResources, CswNbtViewPropertyFilterIn, CswNbtSubField.Column);
            }
            else if (CswNbtSubField.Name == IsCompliantSubField.Name)
            {
                string ValueColumn = "jnp." + CswNbtSubField.Column.ToString();
                if (CswNbtViewPropertyFilterIn.FilterMode == CswEnumNbtFilterMode.Equals)
                {
                    if (CswNbtViewPropertyFilterIn.Value == "1" || CswNbtViewPropertyFilterIn.Value.ToLower() == "true")
                    {
                        ReturnVal = ValueColumn + " = '1' ";
                    }
                    else if (CswNbtViewPropertyFilterIn.Value == "0" || CswNbtViewPropertyFilterIn.Value.ToLower() == "false")
                    {
                        ReturnVal = ValueColumn + " = '0' ";
                    }
                    else
                    {
                        ReturnVal = ValueColumn + " is null";
                    }
                }
                else if (CswNbtViewPropertyFilterIn.FilterMode == CswEnumNbtFilterMode.NotEquals)
                {
                    if (CswNbtViewPropertyFilterIn.Value == "1" || CswNbtViewPropertyFilterIn.Value.ToLower() == "true")
                    {
                        ReturnVal = "(" + ValueColumn + " = '0' or " + ValueColumn + " is null) ";
                    }
                    else if (CswNbtViewPropertyFilterIn.Value == "0" || CswNbtViewPropertyFilterIn.Value.ToLower() == "false")
                    {
                        ReturnVal = "(" + ValueColumn + " = '1' or " + ValueColumn + " is null) ";
                    }
                    else
                    {
                        ReturnVal = "(" + ValueColumn + " = '1' or " + ValueColumn + " = '0') ";
                    }
                }
                else
                {
                    throw new CswDniException(CswEnumErrorType.Error, "Invalid filter", "An invalid FilterMode was encountered in CswNbtFieldTypeRuleQuestion.renderViewPropFilter()");
                }
            }
            else
            {
                ReturnVal = (_CswNbtFieldTypeRuleDefault.renderViewPropFilter(RunAsUser, CswNbtViewPropertyFilterIn, ParameterCollection, FilterNumber));
            }

            return(ReturnVal);
        }//renderViewPropFilter()