Example #1
0
        private IQueryable<PAUPassenger> FilterQueryPassenger(ref IQueryable<PAUPassenger> query, eSearchCriteria criteria, string searchText)
        {
            switch (criteria)
            {
                case eSearchCriteria.FirstName:
                    query.Where(p => p.FirstName.ToLower().Contains(searchText.ToLower()));
                    break;

                case eSearchCriteria.LastName:
                    query.Where(p => p.LastName.ToLower().Contains(searchText.ToLower()));
                    break;

                case eSearchCriteria.FlightNo:
                    query.Where(p => p.FlightNo.ToLower().Contains(searchText.ToLower()));
                    break;

                case eSearchCriteria.FlightDate:
                    break;

                case eSearchCriteria.Passport:
                    query.Where(p => p.Passport.ToLower().Contains(searchText.ToLower()));
                    break;
            }

            return query;
        }
Example #2
0
        private System.Linq.Expressions.Expression<Func<PAUPassenger, bool>> GetSearchExpression(eSearchCriteria criteria, string searchText)
        {
            System.Linq.Expressions.Expression<Func<PAUPassenger, bool>> expr = 
                p => p.FirstName.ToLower().Contains(SearchText1.ToLower());

            DateTime flightDate;
            if (!ConvertStringToDate(searchText, out flightDate) && criteria == eSearchCriteria.FlightDate)
            {
                MessageBox.Show("Invalid Date", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return null;
            }

            switch (criteria)
            {
                case eSearchCriteria.LastName:
                    expr = p => p.LastName.ToLower().Contains(searchText.ToLower());
                    break;

                case eSearchCriteria.FlightNo:
                    expr = p => p.FlightNo.ToLower().Contains(searchText.ToLower());
                    break;

                case eSearchCriteria.Passport:
                    expr = p => p.Passport.ToLower().Contains(searchText.ToLower());
                    break;

                case eSearchCriteria.FlightDate:
                    expr = p => p.FlightDate.Value.Date.Day == flightDate.Day &&
                        p.FlightDate.Value.Date.Month == flightDate.Month &&
                        p.FlightDate.Value.Date.Year == flightDate.Year;
                    break;
            }

            return expr;
        }