Beispiel #1
0
        }//makeWhereClause()

        public string FilterModeToString(CswNbtSubField SubField, CswEnumNbtFilterMode FilterMode)
        {
            return(_CswNbtFieldTypeRuleDefault.FilterModeToString(SubField, FilterMode));
        }
Beispiel #2
0
        public CswNbtFieldTypeRuleLocation(CswNbtFieldResources CswNbtFieldResources)
        {
            _CswNbtFieldResources       = CswNbtFieldResources;
            _CswNbtFieldTypeRuleDefault = new CswNbtFieldTypeRuleDefaultImpl(_CswNbtFieldResources);


            NameSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field1, SubFieldName.Name);
            NameSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Begins);
            NameSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Contains);
            NameSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotContains);
            NameSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Ends);
            NameSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            NameSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            NameSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            NameSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(NameSubField, true);

            NodeIdSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field1_FK, SubFieldName.NodeID, true);
            NodeIdSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            NodeIdSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            NodeIdSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            NodeIdSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            NodeIdSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.In);
            SubFields.add(NodeIdSubField);

            RowSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field2, SubFieldName.Row);
            RowSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            RowSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.GreaterThan);
            RowSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.LessThan);
            RowSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            RowSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            RowSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(RowSubField);

            ColumnSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field3, SubFieldName.Column);
            ColumnSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            ColumnSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.GreaterThan);
            ColumnSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.LessThan);
            ColumnSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            ColumnSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            ColumnSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(ColumnSubField);

            PathSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field4, SubFieldName.Path);
            PathSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Contains);
            PathSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotContains);
            PathSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            PathSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(PathSubField);


            BarcodeSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field5, SubFieldName.Barcode);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Begins);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Contains);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotContains);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Ends);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.GreaterThan);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.LessThan);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            BarcodeSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(BarcodeSubField);
        }//ctor
Beispiel #3
0
        }//makeWhereClause()

        public string FilterModeToString(CswNbtSubField SubField, CswEnumNbtFilterMode FilterMode)
        {
            return(CswNbtFieldTypeRuleDateImpl.FilterModeToString(FilterMode));
        }
 public string GetPropRowValue(CswNbtSubField SubField)
 {
     return(GetPropRowValue(SubField.Column));
 }
        } // GetPropRowValue()

        public DateTime GetPropRowValueDate(CswNbtSubField SubField)
        {
            return(GetPropRowValueDate(SubField.Column));
        }
Beispiel #6
0
 protected string GetPropRowValue(CswNbtSubField SubField)
 {
     return(_CswNbtNodePropData.GetPropRowValue(SubField));
 }
Beispiel #7
0
 protected DateTime GetPropRowValueDate(CswNbtSubField SubField)
 {
     return(_CswNbtNodePropData.GetPropRowValueDate(SubField));
 }
Beispiel #8
0
        } // onBeforeUpdateNodePropRow()

        protected bool SetPropRowValue(CswNbtSubField SubField, object value, bool IsNonModifying = false)
        {
            return(_CswNbtNodePropData.SetPropRowValue(SubField, value, IsNonModifying));
        }
Beispiel #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);
        }
Beispiel #10
0
        }//makeWhereClause()

        public string FilterModeToString(CswNbtSubField SubField, CswEnumNbtFilterMode FilterMode)
        {
            // Default implementation
            return(FilterMode.ToString());
        }
        public CswNbtFieldTypeRuleQuestion(CswNbtFieldResources CswNbtFieldResources)
        {
            _CswNbtFieldResources       = CswNbtFieldResources;
            _CswNbtFieldTypeRuleDefault = new CswNbtFieldTypeRuleDefaultImpl(_CswNbtFieldResources);

            //List
            AnswerSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field1, SubFieldName.Answer, true);
            AnswerSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            AnswerSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            AnswerSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            AnswerSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(AnswerSubField, true);

            //List
            CorrectiveActionSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field2, SubFieldName.CorrectiveAction, true);
            CorrectiveActionSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            CorrectiveActionSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            CorrectiveActionSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            CorrectiveActionSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(CorrectiveActionSubField);

            //Logical
            IsCompliantSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field3, SubFieldName.IsCompliant, true);
            IsCompliantSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            IsCompliantSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            IsCompliantSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            IsCompliantSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(IsCompliantSubField);

            //Memo
            CommentsSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.ClobData, SubFieldName.Comments, true);
            CommentsSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            CommentsSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Begins);
            CommentsSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Ends);
            CommentsSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Contains);
            CommentsSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotContains);
            CommentsSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            CommentsSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(CommentsSubField);

            //Date
            DateAnsweredSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field1_Date, SubFieldName.DateAnswered, true);
            DateAnsweredSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            DateAnsweredSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.GreaterThan);
            DateAnsweredSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.GreaterThanOrEquals);
            DateAnsweredSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.LessThan);
            DateAnsweredSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.LessThanOrEquals);
            DateAnsweredSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            DateAnsweredSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            DateAnsweredSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(DateAnsweredSubField);

            //Date
            DateCorrectedSubField = new CswNbtSubField(_CswNbtFieldResources, CswEnumNbtPropColumn.Field2_Date, SubFieldName.DateCorrected, true);
            DateCorrectedSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Equals);
            DateCorrectedSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.GreaterThan);
            DateCorrectedSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.GreaterThanOrEquals);
            DateCorrectedSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.LessThan);
            DateCorrectedSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.LessThanOrEquals);
            DateCorrectedSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotEquals);
            DateCorrectedSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.NotNull);
            DateCorrectedSubField.SupportedFilterModes.Add(CswEnumNbtFilterMode.Null);
            SubFields.add(DateCorrectedSubField);
        }//ctor
        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()