Example #1
0
            /* F  E V A L U A T E */

            /*----------------------------------------------------------------------------
            *   %%Function: FEvaluate
            *   %%Qualified: AzLog.AzLogFilter.AzLogFilterValue.FEvaluate
            *   %%Contact: rlittle
            *
            *  ----------------------------------------------------------------------------*/
            public bool FEvaluate(AzLogFilterCondition.CmpOp cmpOp, AzLogFilterValue azlfvRHS, ILogFilterItem ilf)
            {
                int  nCmp;
                bool fNoCase;

                cmpOp = CmpOpGenericFromCmpOp(cmpOp, out fNoCase);

                if (m_vt != azlfvRHS.m_vt)
                {
                    throw new Exception("cannot evaluate dissimilar value types");
                }

                if (m_vt == ValueType.String)
                {
                    nCmp = System.String.Compare(this.String(ilf), azlfvRHS.String(ilf), fNoCase);
                }
                else if (m_vt == ValueType.DateTime)
                {
                    nCmp = DateTime.Compare(this.Dttm(ilf), azlfvRHS.Dttm(ilf));
                }
                else
                {
                    nCmp = 0;
                }

                switch (cmpOp)
                {
                case AzLogFilterCondition.CmpOp.Eq:
                    return(nCmp == 0);

                case AzLogFilterCondition.CmpOp.SEq:
                    return(nCmp == 0);

                case AzLogFilterCondition.CmpOp.Ne:
                    return(nCmp != 0);

                case AzLogFilterCondition.CmpOp.SNe:
                    return(nCmp == 0);

                case AzLogFilterCondition.CmpOp.Gt:
                    return(nCmp > 0);

                case AzLogFilterCondition.CmpOp.Gte:
                    return(nCmp >= 0);

                case AzLogFilterCondition.CmpOp.Lt:
                    return(nCmp < 0);

                case AzLogFilterCondition.CmpOp.Lte:
                    return(nCmp <= 0);
                }

                return(false);
            }
Example #2
0
            /* F  E V A L U A T E */
            /*----------------------------------------------------------------------------
                %%Function: FEvaluate
                %%Qualified: AzLog.AzLogFilter.AzLogFilterValue.FEvaluate
                %%Contact: rlittle

            ----------------------------------------------------------------------------*/
            public bool FEvaluate(AzLogFilterCondition.CmpOp cmpOp, AzLogFilterValue azlfvRHS, ILogFilterItem ilf)
            {
                int nCmp;
                bool fNoCase;

                cmpOp = CmpOpGenericFromCmpOp(cmpOp, out fNoCase);

                if (m_vt != azlfvRHS.m_vt)
                    throw new Exception("cannot evaluate dissimilar value types");

                if (m_vt == ValueType.String)
                    nCmp = System.String.Compare(this.String(ilf), azlfvRHS.String(ilf), fNoCase);
                else if (m_vt == ValueType.DateTime)
                    nCmp = DateTime.Compare(this.Dttm(ilf), azlfvRHS.Dttm(ilf));
                else
                    nCmp = 0;

                switch (cmpOp)
                    {
                    case AzLogFilterCondition.CmpOp.Eq:
                        return nCmp == 0;
                    case AzLogFilterCondition.CmpOp.SEq:
                        return nCmp == 0;
                    case AzLogFilterCondition.CmpOp.Ne:
                        return nCmp != 0;
                    case AzLogFilterCondition.CmpOp.SNe:
                        return nCmp == 0;
                    case AzLogFilterCondition.CmpOp.Gt:
                        return nCmp > 0;
                    case AzLogFilterCondition.CmpOp.Gte:
                        return nCmp >= 0;
                    case AzLogFilterCondition.CmpOp.Lt:
                        return nCmp < 0;
                    case AzLogFilterCondition.CmpOp.Lte:
                        return nCmp <= 0;
                    }

                return false;
            }