Example #1
0
        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);
        }
Example #2
0
        public IEnumerable <BusinessModels.Results> SimpleSearch(BusinessModels.Search searchparam)
        {
            IEnumerable <DataAccessLayer.People> peoples = this.SearchByNameAndGender(searchparam);
            IEnumerable <BusinessModels.Results> results = this.mapFromPeopleToResult(peoples);

            return(results);
        }
Example #3
0
        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);
        }