private List <DataAccessLayer.People> SearchByNameAndGender(BusinessModels.Search searchparam) { List <DataAccessLayer.People> peoples; if (searchparam.male) { peoples = getPeoplesByNameAndGenderFilter(searchparam.name, "M"); } else if (searchparam.female) { peoples = getPeoplesByNameAndGenderFilter(searchparam.name, "F"); } else { if (searchparam.name.Trim() != "") { return(data.people.FindAll(p => p.name.ToLower().Contains(searchparam.name.ToLower()))); } else { return(data.people); } } return(peoples); }
public IEnumerable <BusinessModels.Results> SimpleSearch(BusinessModels.Search searchparam) { IEnumerable <DataAccessLayer.People> peoples = this.SearchByNameAndGender(searchparam); IEnumerable <BusinessModels.Results> results = this.mapFromPeopleToResult(peoples); return(results); }
public IEnumerable <BusinessModels.Results> AdvanceSearch(BusinessModels.Search searchparam) { IEnumerable <BusinessModels.Results> results = new List <BusinessModels.Results>(); List <DataAccessLayer.People> peoples = this.SearchByNameAndGender(searchparam); if (searchparam.direction.ToLower() == "ancestors") { List <DataAccessLayer.People> ancestors = new List <DataAccessLayer.People>(); peoples.ForEach(person => ancestors.AddRange(this.getAncestors(person))); results = this.mapFromPeopleToResult(ancestors); } else if (searchparam.direction.ToLower() == "descendents") { List <DataAccessLayer.People> descendents = new List <DataAccessLayer.People>(); peoples.ForEach(person => descendents.AddRange(this.getDescendents(person, true))); results = this.mapFromPeopleToResult(descendents); } return(results); }