public List <ClientEx> AllClientExes(string sortExpression = "") { List <Client> allClients = Client.AllClients(); List <ClientEx> allClientExes = new List <ClientEx>(); ObjectSortField osf = null; foreach (Client client in allClients) { ClientEx clientEx = new ClientEx(client); allClientExes.Add(clientEx); } if (!String.IsNullOrEmpty(sortExpression)) { if (sortExpression.ToUpper().EndsWith(" DESC")) { osf = new ObjectSortField(sortExpression.Substring(0, sortExpression.Length - 5), ObjectSortField.SortOrders.Descending); } else { osf = new ObjectSortField(sortExpression, ObjectSortField.SortOrders.Ascending); } allClientExes.Sort(new ObjectComparer <ClientEx>(new ObjectSortField[] { osf })); } return(allClientExes); }
public static IList <Job> JobsFromSearch(Client client, List <string> searchTerms, bool isAdmin, string sortExpression = "") { Debug.WriteLine("Job.JobsFromSearch()"); if (searchTerms.Count == 0) { return(null); } DataTable dtJobsFromSearch = ClientData.Current.JobsFromSearchTermDataTable(client.ClientId, searchTerms, isAdmin); List <Job> jobs = new List <Job>(); foreach (DataRow drJob in dtJobsFromSearch.Rows) { Job job = new Job(); job.SetFieldsFromDataRow(drJob); // need to do parent objs here job.Client = client; job.JobType = JobType.JobTypeFromId(job.JobTypeId); jobs.Add(job); } // remove dupes (caused by join query) jobs = jobs.Distinct().ToList(); if (!String.IsNullOrEmpty(sortExpression)) { ObjectSortField osf; if (sortExpression.ToUpper().EndsWith(" DESC")) { osf = new ObjectSortField(sortExpression.Substring(0, sortExpression.Length - 5), ObjectSortField.SortOrders.Descending); } else { osf = new ObjectSortField(sortExpression, ObjectSortField.SortOrders.Ascending); } jobs.Sort(new ObjectComparer <Job>(new ObjectSortField[] { osf })); } return(jobs); }