private static IEnumerable<Customer> FilterWithName(IEnumerable<Customer> clientList, FilterVM filter) { if ((!String.IsNullOrEmpty(filter.ColumnName)) && (filter.ColumnName.ToUpper() == "FIRSTNAME")) { if (!String.IsNullOrEmpty(filter.SearchText)) { if (filter.SearchType.ToUpper() == "CONTAINS") clientList = clientList.Where(s => s.FirstName.ToUpper().Contains(filter.SearchText.ToUpper())).ToList(); else if (filter.SearchType.ToUpper() == "STARTSWITH") clientList = clientList.Where(s => s.FirstName.StartsWith(filter.SearchText, StringComparison.InvariantCultureIgnoreCase)).ToList(); else if (filter.SearchType.ToUpper() == "ENDSWITH") clientList = clientList.Where(s => s.FirstName.EndsWith(filter.SearchText, StringComparison.InvariantCultureIgnoreCase)).ToList(); else if ((filter.SearchType.ToUpper() == "EQUALS") || (filter.SearchType == "=")) clientList = clientList.Where(s => s.FirstName.Equals(filter.SearchText, StringComparison.InvariantCultureIgnoreCase)).ToList(); } } return clientList; }
private static IEnumerable<Customer> FilterWithRegistrationDate(IEnumerable<Customer> orderList, FilterVM filter) { if ((!String.IsNullOrEmpty(filter.ColumnName)) && (filter.ColumnName.ToUpper() == "REGISTRATIONDATE")) { if (!String.IsNullOrEmpty(filter.StartDate)) { DateTime dateToCompare; if (DateTime.TryParse(filter.StartDate, out dateToCompare)) { if ((filter.SearchType.ToUpper() == "EQUALS") || (filter.SearchType == "=")) orderList = orderList.Where(s => s.RegistrationDate.Date == dateToCompare.Date).ToList(); else if (filter.SearchType.ToUpper() == "BEFORE") orderList = orderList.Where(s => s.RegistrationDate.Date < dateToCompare.Date).ToList(); else if (filter.SearchType.ToUpper() == "AFTER") orderList = orderList.Where(s => s.RegistrationDate.Date > dateToCompare.Date).ToList(); else if (filter.SearchType.ToUpper() == "BETWEEN") { DateTime endDateToCompare; if (DateTime.TryParse(filter.EndDate, out endDateToCompare)) { orderList = orderList.Where(s => s.RegistrationDate.Date > dateToCompare.Date && s.RegistrationDate.Date < endDateToCompare.Date).ToList(); } } } } } return orderList; }