Currently in CRM filter criteria doesn't provide the facility to view records which are are valid on or before 3 days.
object query = localContext.PluginExecutionContext.InputParameters["Query"];
if (query.GetType() == typeof(QueryExpression))
{
QueryExpression qe = (QueryExpression)localContext.PluginExecutionContext.InputParameters["Query"];
FilterExpression fe = qe.Criteria;
var filterAttributeCondition = (from c in fe.Conditions
where c.AttributeName == "new_retrievemultiplefilter"
select c).FirstOrDefault();
if (filterAttributeCondition != null && (string)filterAttributeCondition.Values[0] == "records on or before x number of days")
{
fe.Conditions.Remove(filterAttributeCondition);
var xNumberOfDaysCondition = (from c in fe.Conditions
where c.AttributeName == "new_xnumberofdays"
select c).FirstOrDefault();
if (xNumberOfDaysCondition != null)
{
int xNumberOfDays = xNumberOfDaysCondition.Values.Count > 0 ? (int)xNumberOfDaysCondition.Values[0] : 0;
fe.Conditions.Remove(xNumberOfDaysCondition);
DateTime dateOnXnumberDaysBefore = DateTime.Now.AddDays(-xNumberOfDays) ;
fe.Conditions.Add(
new ConditionExpression(
"attributename",
ConditionOperator.OnOrBefore,
new object[]{dateOnXnumberDaysBefore})
);
}
}
}
No comments:
Post a Comment