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); }