예제 #1
0
        private void JobSearchCommandExecute(string _search)
        {
            JobGroups.RemoveRange(0, JobGroups.Count);

            List <ContactVacancy> ContactVacancies = new List <ContactVacancy>(_contactVacanciesList.Where(C => C.PoisitionName.ToLowerInvariant().Contains(_search.ToLowerInvariant())));

            if (ContactVacancies.Count == 0)
            {
                JobNoFoundIsVisible = true;
            }
            else
            {
                JobNoFoundIsVisible = false;
            }

            //Populate JobGroup
            List <ContactVacancyGroup> groups = new List <ContactVacancyGroup>();

            foreach (var vacancy in ContactVacancies)
            {
                var statusName = vacancy.StatusName;
                if (groups.Any(r => r.StatusName == statusName))
                {
                    groups.Single(r => r.StatusName == statusName).Add(vacancy);
                }
                else
                {
                    groups.Add(new ContactVacancyGroup(statusName)
                    {
                        vacancy
                    });
                }
            }
            JobGroups = groups;

            JobListViewHeightRequest = ContactVacancies.Count * 120 + JobGroups.Count * 38;
        }