Reputation: 1225
I have a MVC application with a grid on the view. The user is allowed to filter the data on the grid using different information. One way is to use two datepickers for date range (min/max). I attempting to find all matching datasets in the business logic. But for some reason the date range always returns a empty set. I know I don't have it coded right, but not sure what to change. This is the code -
filteredbyCustCriteria = _unitOfWork.CustomerRepository.Get.Where
(w => (reportSearch.FullName != null ? (w.FirstName + " " + w.LastName).Contains(reportSearch.FullName.Trim()) : true)
&& (reportSearch.MinPaidDate != null ? EntityFunctions.TruncateTime(w.Orders.FirstOrDefault().OrderPayments.FirstOrDefault().PaymentDate) >= reportSearch.MinPaidDate : true)
&& (reportSearch.MaxPaidDate != null ? EntityFunctions.TruncateTime(w.Orders.FirstOrDefault().OrderPayments.FirstOrDefault().PaymentDate) <= reportSearch.MaxPaidDate : true));
It works find on the fullname.
Upvotes: 0
Views: 1940
Reputation: 22153
When working with nullable DateTime
I find that I have to use .Value
in certain cases. Try this:
>= reportSearch.MinPaidDate.Value
<= reportSearch.MaxPaidDate.Value
Upvotes: 2