/// <summary> /// Updates all the jobs shown in the form. /// </summary> public void UpdateJobs() { // Clear all controls JobPanel.Controls.Clear(); JobPanel.Visible = false; JobPanel.SuspendLayout(); List <Job> AllJobs = new List <Job>(); // Filter items by open/ closed/ all] if (FilterComboBox.SelectedIndex == 0) { AllJobs = m_presenter.GetAllJobs(); } else if (FilterComboBox.SelectedIndex == 1) { AllJobs = m_presenter.GetAllJobs().Where(j => j.Open == true).ToList(); } else if (FilterComboBox.SelectedIndex == 2) { AllJobs = m_presenter.GetAllJobs().Where(j => j.StaffID == 0).ToList(); } else if (FilterComboBox.SelectedIndex == 3) { AllJobs = m_presenter.GetAllJobs().Where(j => j.Open == false).ToList(); } // Sort jobs by due date AllJobs = AllJobs.OrderBy(j => j.CompletionDate).ToList(); Queue <JobControlSmall> jobControls = new Queue <JobControlSmall>(); var titles = new JobControlSmallTitles(); titles.Dock = DockStyle.Top; JobPanel.Controls.Add(titles, 0, 0); JobPanel.RowCount = AllJobs.Count + 1; JobPanel.HorizontalScroll.Maximum = 0; JobPanel.HorizontalScroll.Enabled = false; JobPanel.HorizontalScroll.Visible = false; foreach (var job in AllJobs) { var newJob = new JobControlSmall(m_presenter, job); newJob.Dock = DockStyle.Top; jobControls.Enqueue(newJob); //newJob.Dock = DockStyle.Top; } for (int i = 1; i <= AllJobs.Count; i++) { JobPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 52)); //JobPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 52.0f)); JobPanel.Controls.Add(jobControls.Dequeue(), 0, i); } JobPanel.ResumeLayout(); JobPanel.Visible = true; }
void Awake() { jobPanel = FindObjectOfType <JobPanel>(); }