private void CameraFileSort_radioButton3_CheckedChanged(object sender, EventArgs e) { _cameraFileSortType = tSortType.SORT_BY_DATE; ResortCameraFileList(); }
private void MakeCopyGuessByDate(int camNum, int numMovieFilesToGuess) { if (_previousCamRoot == null) { return; } if (_previousSources == null) { return; } // start by aligning movie from cam directory with movies in copy list by Date tSortType tempSortType = _cameraFileSortType; _cameraFileSortType = tSortType.SORT_BY_DATE; List <DirectoryOrFile> moviesOnPrevCam = new List <DirectoryOrFile>(); _previousCamRoot.SortBy(_cameraFileSortType); TraverseLoadMovieList(ref _previousCamRoot, ref moviesOnPrevCam); for (int i = 0; i < moviesOnPrevCam.Count; i++) { Console.WriteLine("Guess: " + i + " \"" + moviesOnPrevCam[i].Name() + "\" " + File.GetLastWriteTime(moviesOnPrevCam[i].Path()).ToString()); } List <DirectoryOrFile> moviesOnThisCam = new List <DirectoryOrFile>(); _camRoot.SortBy(_cameraFileSortType); TraverseLoadMovieList(ref _camRoot, ref moviesOnThisCam); _cameraFileSortType = tempSortType; for (int i = 0; i < moviesOnThisCam.Count; i++) { Console.WriteLine("New: " + i + " \"" + moviesOnThisCam[i].Name() + "\" " + File.GetLastWriteTime(moviesOnThisCam[i].Path()).ToString()); } // _previoiusSources is list of movies selected for copy // moviesOnThisCam is sorted list of movies on camera directory being querried // - Find selected movie timestamp and select closest movie from moviesOnThisCam for (int i = 0; i < numMovieFilesToGuess; i++) { int closestDateMatch = -1; DateTime sourceDT = File.GetLastWriteTime(_previousSources[i].Path()); long minDelta = 0; int j = 0; for (j = 0; j < moviesOnThisCam.Count; j++) { DateTime thisDT = File.GetLastWriteTime(moviesOnThisCam[j].Path()); long delta = Math.Abs(thisDT.Ticks - sourceDT.Ticks); if (j == 0) { closestDateMatch = j; minDelta = delta; } else if (delta < minDelta) { closestDateMatch = j; minDelta = delta; } } j = closestDateMatch; // found it _sources.Add(moviesOnThisCam[j]); IngressListBoxItem ib = new IngressListBoxItem(); ib.DisplayName = moviesOnThisCam[j].Name(); ib.Identifier = moviesOnThisCam[j]; ib.CamNum = camNum; ib.SceneName = _previousDestinationScenes[i]; SourceListBox.Items.Add(ib); _destinationScenes.Add(_previousDestinationScenes[i]); _sourceCams.Add(camNum); } }