Question

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.

Était-ce utile?

La solution

When working with nullable DateTime I find that I have to use .Value in certain cases. Try this:

>= reportSearch.MinPaidDate.Value
<= reportSearch.MaxPaidDate.Value
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top