User1682618242 posted
This:
( m.CertificationDate.Value.AddYears( 3 ) > m.CertificationDate.Value.AddYears( 3 ).AddDays( -30 ) ) )
is always true. If today is 30.03.2011 in 3 years will be 30.03.2014 which will always be greater than 01.03.2014 (add 3 years and subtracting 30 days).
You may want to check this:
( DateTime.Now > m.CertificationDate.Value.AddYears( 3 ).AddDays( -30 ) ) )
or something similar