Example #1
0
 public CustomJsonResult Search(IncidentSearchCriteria criteria)
 {
     return(this.CustomJson(this.SearchAndGetPage(criteria)));
 }
Example #2
0
        private PageViewModel <Incident> SearchAndGetPage(IncidentSearchCriteria criteria)
        {
            var page = this.db.Incidents.Search(criteria).GetPage(criteria);

            return(page);
        }
Example #3
0
        public static IQueryable <Incident> Search(this IQueryable <Incident> incidents, IncidentSearchCriteria searchCriteria)
        {
            incidents = incidents.IncludeAll();
            if (searchCriteria.IncidentTypeId.HasValue)
            {
                incidents = incidents.Where(x => x.IncidentTypeId == searchCriteria.IncidentTypeId);
            }
            if (searchCriteria.IncidentDateFrom.HasValue)
            {
                incidents = incidents.Where(x => x.IncidentDate >= searchCriteria.IncidentDateFrom);
            }
            if (searchCriteria.IncidentDateTo.HasValue)
            {
                incidents = incidents.Where(x => x.IncidentDate <= searchCriteria.IncidentDateTo);
            }
            if (!string.IsNullOrWhiteSpace(searchCriteria.Description))
            {
                incidents = incidents.Where(x => x.Description.Contains(searchCriteria.Description));
            }
            if (!string.IsNullOrWhiteSpace(searchCriteria.Person))
            {
                incidents = incidents.Where(x => x.Person.Contains(searchCriteria.Person));
            }

            if (!string.IsNullOrWhiteSpace(searchCriteria.Location))
            {
                incidents = incidents.Where(x => x.Person.Contains(searchCriteria.Person));
            }

            return(incidents);
        }