private void showOnlyCameraReadySearchTextTickets(object o)
        {
            // limit camera ready files shown in list

            var limited_group = FilesFoundInCameraReady.Where(x => x.FileName.Contains(CameraReadySearchText)).ToList();

            FilesFoundInCameraReady.Clear();
            limited_group.ToList().ForEach(
                x => FilesFoundInCameraReady.Add(new CockleFileInCameraReady(x.FileName)));
        }
        private void saveSelectedCameraReadyFilesToScratch(object o)
        {
            try
            {
                if (null == FilesConvertedToPdf)
                {
                    FilesConvertedToPdf = new ObservableCollection <CockleFilePdf>();
                }
                else
                {
                    FilesConvertedToPdf.Clear(); DestinationFolderConvertedFiles = string.Empty;
                }

                // also clear Files & UpdateLabel
                Files?.Clear();
                UpdateLabel    = string.Empty;
                UpdateLabelPdf = string.Empty;

                var selections = FilesFoundInCameraReady.Where(x => x.IsSelected).ToList();
                if (selections.Count() == 0)
                {
                    throw new Exception("No files selected");
                }
                var time_stamp = string.Format("({0} {1}, {2}, {3})", DateTime.Now.ToString("MMM") /*Oct*/,
                                               DateTime.Now.ToString("dd") /*09*/, DateTime.Now.ToString("yyy") /*2015*/,
                                               DateTime.Now.ToString("T").ToLower() /*10:58:44 AM*/ /*, len_text*/)
                                 .Replace(':', ' ');
                var ticket_no  = selections.Where(x => !string.IsNullOrEmpty(x.Ticket)).FirstOrDefault().Ticket;
                var atty       = selections.Where(x => !string.IsNullOrEmpty(x.Attorney)).FirstOrDefault().Attorney;
                var new_folder = $"c:\\scratch\\{ticket_no} {atty} {time_stamp}";
                System.IO.Directory.CreateDirectory(new_folder);

                DestinationFolderConvertedFiles = new_folder;
                // move to scratch and add to FilesConvertedToPdf collection
                selections.ForEach(x =>
                {
                    var new_full_name = System.IO.Path.Combine(new_folder, x.ShortFileName);
                    System.IO.File.Copy(x.FileName, new_full_name, true);
                    if (System.IO.File.Exists(new_full_name))
                    {
                        FilesConvertedToPdf.Add(new CockleFilePdf(new_full_name, SourceFileTypeEnum.Camera_Ready));
                    }
                });
            }
            catch (Exception ex)
            {
                UpdateLabelPdf = ex.Message;
            }
            finally
            {
                ModalOverlayIsVisible            = false;
                CameraReadyFileSelectorIsVisible = false;
            }
        }
        private void openSelectedCameraReadyFile()
        {
            FilesFoundInCameraReady.Where(x => x.IsSelected)
            .ToList()
            .ForEach(x =>
            {
                System.Diagnostics.Process.Start(x.FileName);
            });

            //System.Diagnostics.Process.Start(SelectedFileInCameraReady.FileName);
        }