// SECONDARY METHOD:
        // USED FOR COMBINED PDF
        public CockleFilePdf(string filename, string atty, int?ticket, SourceFileTypeEnum file_type, string file_type_code, int?len_cover)
        {
            this.FullName     = filename;
            this.TicketNumber = ticket;
            this.Attorney     = atty;
            this.FileType     = file_type;
            this.FileTypeCode = file_type_code;
            this.Version      = null;

            // set cover length
            if (this.FileType == SourceFileTypeEnum.Cover)
            {
                this.CoverLength = len_cover;
            }
            else
            {
                this.CoverLength = null;
            }

            // get page ranges
            PageRange = new PageRangePdf(this.FullName, this.FileType);

            // initialize properties that need more info
            this.Rank           = -1;
            this.NeedsBlankPage = false;
        }
        // One that captures original, another that creates files from folder

        // PRIMARY COCKLEFILEPDF CONSTRUCTOR
        // USES 1. CockleFile 2. new file name 3. cover length
        public CockleFilePdf(CockleFile cockleFile, string newFileName, int?len_cover)
        {
            // THIS IS THE MOST IMPORTANT CONSTRUCTOR: MUCH MORE CONSISTENT !!!

            // set ICockleFile Properties
            this.FullName     = newFileName;
            this.TicketNumber = cockleFile.TicketNumber;
            this.Attorney     = cockleFile.Attorney;
            this.FileType     = cockleFile.FileType;
            this.Version      = cockleFile.Version;

            // set properties in common with CockleFile
            this.FileTypeCode = cockleFile.FileTypeCode;

            // set cover length
            if (this.FileType == SourceFileTypeEnum.Cover &&
                null != len_cover)
            {
                this.CoverLength = len_cover;
            }
            else
            {
                this.CoverLength = null;
            }

            // get page ranges
            PageRange = new PageRangePdf(this.FullName, this.FileType);

            // initialize properties that need more info
            this.Rank           = -1;
            this.NeedsBlankPage = false;
        }
 public void GetPageRangeForFile()
 {
     this.PageRange = new PageRangePdf(this.FullName, this.FileType);
     if (this.PageRange.FirstPage == -1 || this.PageRange.LastPage == -1)
     {
         this.PageRange = null;
     }
 }
 public CockleFilePdf(string fileName, CockleFilePdf originalCockleFilePdf, SourceFileTypeEnum type)
 {
     this.FullName     = fileName;
     this.Attorney     = originalCockleFilePdf.Attorney;
     this.CoverLength  = originalCockleFilePdf.CoverLength;
     this.FileType     = type;
     this.FileTypeCode = originalCockleFilePdf.FileTypeCode;
     this.PageRange    = originalCockleFilePdf.PageRange;
     this.Rank         = originalCockleFilePdf.Rank;
     this.TicketNumber = originalCockleFilePdf.TicketNumber;
     this.Version      = originalCockleFilePdf.Version;
 }