예제 #1
0
        public JobRegistration RegisterJob(AbstractCommand command, IJobDetail jobDetail, ITrigger trigger)
        {
            if (!JobGroups.ContainsKey(command.SchedulerGroup))
            {
                JobGroups.Add(command.SchedulerGroup, new JobGroup());
            }

            if (JobGroups[command.SchedulerGroup].Registrations.ContainsKey(command.ScheduleId))
            {
                throw new DuplicateScheduledCommandException(command.Name, command.ScheduleId, command.SchedulerGroup);
            }

            var registration = new JobRegistration(command, jobDetail, trigger);

            JobGroups[command.SchedulerGroup].Registrations.Add(command.ScheduleId, registration);
            return(registration);
        }
예제 #2
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;
        }