示例#1
0
        private IFilter CreateFilter(CV_PM_ALT_LOGQueryParam qp)
        {
            ArgumentValidator.CheckForNullArgument(qp, "CV_PM_ALT_LOGQueryParam");

            AndFilter      af = new AndFilter();
            MatchingFilter mf = new MatchingFilter();

            if (!qp.IsDefaultValue("AlertAlias"))
            {
                mf.AddMatching("AlertAlias", qp.AlertAlias);
            }

            if (!qp.IsDefaultValue("LogTitle"))
            {
                mf.AddLike("LogTitle", qp.LogTitle);
            }

            if (!qp.IsDefaultValue("LogContent"))
            {
                mf.AddLike("LogContent", qp.LogContent);
            }

            if (!qp.IsDefaultValue("RespondedBy"))
            {
                mf.AddMatching("RespondedBy", qp.RespondedBy);
            }

            if (!qp.IsDefaultValue("IsClosed"))
            {
                mf.AddMatching("IsClosed", qp.IsClosed.Value);
            }

            if (!qp.IsDefaultValue("Z_RespondedOnBegin"))
            {
                mf.AddGreatEqualThan("RespondedOn", qp.Z_RespondedOnBegin.Value);
            }

            if (!qp.IsDefaultValue("Z_RespondedOnEnd"))
            {
                mf.AddLessEqualThan("RespondedOn", qp.Z_RespondedOnEnd.Value);
            }

            af.AddFilter(mf);

            return(af);
        }