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()
        }//makeWhereClause()

        public string FilterModeToString(CswNbtSubField SubField, CswEnumNbtFilterMode FilterMode)
        {
            string ret = string.Empty;

            // Are we using a Date filter?
            if (SubField.Name == StartDateSubField.Name)
            {
                return(CswNbtFieldTypeRuleDateImpl.FilterModeToString(FilterMode));
            }
            else
            {
                ret = _CswNbtFieldTypeRuleDefault.FilterModeToString(SubField, FilterMode);
            }

            return(ret);
        }
        }//renderViewPropFilter()

        public string FilterModeToString(CswNbtSubField SubField, CswEnumNbtFilterMode FilterMode)
        {
            string ReturnVal = string.Empty;

            // Are we using a Date filter?
            if (SubField.Name == DateAnsweredSubField.Name || SubField.Name == DateCorrectedSubField.Name)
            {
                ReturnVal = CswNbtFieldTypeRuleDateImpl.FilterModeToString(FilterMode);
            }
            else
            {
                ReturnVal = _CswNbtFieldTypeRuleDefault.FilterModeToString(SubField, FilterMode);
            }

            return(ReturnVal);
        }
示例#4
0
        }//makeWhereClause()

        public string FilterModeToString(CswNbtSubField SubField, CswEnumNbtFilterMode FilterMode)
        {
            return(CswNbtFieldTypeRuleDateImpl.FilterModeToString(FilterMode));
        }
        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()