예제 #1
0
        public List <CustomerDataObject> RetrieveFromList(List <CustomerDataObject> CustomerList, Retrieve_message Criteria)
        {
            try
            {
                Criteria = ValidateSearchCriteria(Criteria);
                List <CustomerDataObject> FilteredList;
                FilteredList = CustomerList.FindAll(delegate(CustomerDataObject Obj) { return(Obj.CustomerName.Contains(Criteria.Searchvalue) || Obj.Emailid == Criteria.Searchvalue || Obj.Gender.Contains(Criteria.Searchvalue)); });
                if (Criteria.End_index > FilteredList.Count)
                {
                    Criteria.End_index = FilteredList.Count;
                }
                FilteredList = FilteredList.GetRange((Criteria.Start_index - 1), Criteria.End_index - Criteria.Start_index + 1);

                switch (Criteria.Sortparam)
                {
                case "Name": FilteredList = FilteredList.OrderBy(cc => cc.CustomerName).ToList <CustomerDataObject>(); break;

                case "Gender": FilteredList = FilteredList.OrderBy(cc => cc.Gender).ToList <CustomerDataObject>(); break;

                case "Emailid": FilteredList = FilteredList.OrderBy(cc => cc.Emailid).ToList <CustomerDataObject>(); break;
                }
                return(FilteredList);
            }
            catch
            {
                throw;
            }
        }