Esempio n. 1
0
        // ReSharper restore UnusedAutoPropertyAccessor.Local

        private void SetUpFileTab()
        {
            var query = from file in Database.CollarFiles
                        where file.Project == Project &&
                        (ShowDerivedFilesCheckBox.Checked || file.ParentFileId == null) &&
                        (ShowEmailFilesCheckBox.Checked || file.Format != 'E') &&
                        (ShowDownloadFilesCheckBox.Checked || file.Format != 'F')
                        select new FileListItem
            {
                File      = file,
                Name      = file.FileName + (file.Status == 'I' ? " (Inactive)" : ""),
                CanDelete = file.ParentFileId == null && !file.ArgosDownloads.Any()
            };
            var sortedList = query.OrderBy(f => f.File.Status)
                             .ThenByDescending(f => f.File.ParentFileId ?? f.File.FileId)
                             .ThenByDescending(f => f.File.FileId)
                             .ToList();

            FilesListBox.DataSource    = sortedList;
            FilesListBox.DisplayMember = "Name";
            FilesListBox.ClearItemColors();
            for (int i = 0; i < sortedList.Count; i++)
            {
                if (sortedList[i].File.ParentFileId != null)
                {
                    FilesListBox.SetItemColor(i, Color.Brown);
                }
                if (sortedList[i].File.Format == 'E')
                {
                    FilesListBox.SetItemColor(i, Color.MediumBlue);
                }
                if (sortedList[i].File.Format == 'F')
                {
                    FilesListBox.SetItemColor(i, Color.DarkMagenta);
                }
                if (sortedList[i].File.Status == 'I')
                {
                    //Dim color of inactive files
                    var c = FilesListBox.GetItemColor(i);
                    FilesListBox.SetItemColor(i, ControlPaint.Light(c, 1.4f));
                }
            }
            FilesTabPage.Text = sortedList.Count < 5 ? "Files" : String.Format("Files ({0})", sortedList.Count);
            EnableFileControls();
        }