public static List <Trip> SearchTrips(Helpers.SearchInfo info) { List <Trip> result = new List <Trip>(); if (!info.MemberSearchChecked) { if (info.TripFinishedSearchChecked) { result.AddRange(GetFinishedTrips()); } if (info.TripOngoingSearchChecked) { result.AddRange(GetOngoingTrips()); } if (info.Keyword == "") { return(result); } result = new List <Trip>(result.Where(trip => { string tripName = StringHelper.ConvertToNoSpaceAndUnsigned(trip.Title); string keyword = StringHelper.ConvertToNoSpaceAndUnsigned(info.Keyword); return(tripName.Contains(keyword)); })); return(result); } if (info.MemberSearchChecked) { result = GetTripsBasedOnMemberName(info); } return(result); }
public static List <Trip> GetTripsBasedOnMemberName(Helpers.SearchInfo searchInfo) { List <Trip> list = new List <Trip>(); var query = from trip in DatabaseEntity.Entity.DB.TRIPs join tripMember in DatabaseEntity.Entity.DB.TRIP_MEMBERS on trip.TRIP_ID equals tripMember.TRIP_ID select new { trip, tripMember.MEMBER }; foreach (var row in query) { if (searchInfo.Keyword != null) { string memberName = StringHelper.ConvertToNoSpaceAndUnsigned(row.MEMBER.NAME); string keyword = StringHelper.ConvertToNoSpaceAndUnsigned(searchInfo.Keyword); if (memberName.Contains(keyword)) { Trip trip = new Trip(row.trip); list.Add(trip); } } } return(list); }
public CurrentTripsViewModel() { NextPageCommand = new RelayCommand <object>((p) => { return(true); }, (p) => { if (this.CurrentIndex < this.paging.TotalPages - 1) { this.CurrentIndex += 1; } }); PreviousPageCommand = new RelayCommand <object>((p) => { return(true); }, (p) => { if (this.CurrentIndex > 0) { this.CurrentIndex -= 1; } }); SelectTripCommand = new RelayCommand <object>((selectedItem) => { return(selectedItem != null); }, (selectedItem) => { Trip tripSelected = (Trip)selectedItem; View.DetailTripWindow childWindow = new View.DetailTripWindow(tripSelected.ID); childWindow.ShowDialog(); }); SearchCommand = new RelayCommand <object>((x) => { return(x != null); }, (x) => { Search.Keyword = (string)x; Trips = DataAccess.SearchTrips(Search); bindingItems = new ObservableCollection <Trip>(Trips.ToList()); CalculatePagingInfo(); Info = $"Tìm thấy {Trips.Count} kết quả"; }); Trips = DataAccess.GetOngoingTrips(); CalculatePagingInfo(); Search = new Helpers.SearchInfo(); Info = ""; }