internal void UpdateFileDateTimeProperties(FileMetaData fileMetaData) { if (fileMetaData == null) { throw new ArgumentNullException("fileMetaData"); } if (fileMetaData.Date == null) { throw new InvalidOperationException("fileMetaData.Date is null"); } //if (fileMetaData.Date == null) //{ // // Get date from file name if cannot determine from file // var regex = new Regex(ScannerDateRegex); // Match match = regex.Match(Path.GetFileName(fileMetaData.OldPath)); // if (!match.Success) // { // Console.WriteLine("Unable to match '{0}", Path.GetFileName(fileMetaData.OldPath)); // return; // } // fileMetaData.Date = GetCreateDate(match); // fileMetaData.NewPath = GetFileName(match, (DateTime)fileMetaData.Date); //} //if (createDate == DateTime.MinValue || string.IsNullOrEmpty(newName)) //{ // return; //} _logger.Debug(String.Format("{0}: date set to {1}", fileMetaData.OldPath, fileMetaData.Date)); File.SetCreationTime(fileMetaData.OldPath, (DateTime) fileMetaData.Date); File.SetLastWriteTime(fileMetaData.OldPath, (DateTime) fileMetaData.Date); //var directoryName = Path.GetDirectoryName(fileMetaData.NewPath); //if (directoryName != null) //{ // //newName = Path.Combine(directoryName, newName); // string newName = fileMetaData.NewPath; // Console.WriteLine("Renaming {0} to {1}", Path.GetFileName(fileMetaData.OldPath), Path.GetFileName(newName)); // var fileInfo = new FileInfo(fileMetaData.OldPath); // fileInfo.MoveTo(newName); // Logger.Debug(string.Format("{0} moved to {1}", fileMetaData, newName)); // File.SetCreationTime(newName, (DateTime)fileMetaData.Date); // File.SetLastWriteTime(newName, (DateTime)fileMetaData.Date); //} }
public void Constructor_WithParameters_SetProperties() { // Arrange const string oldPath = @"C:\Old path"; const string newPath = @"C:\New path"; DateTime? date = new DateTime(2010, 1, 1); const string name = "Test name"; // Act var fileMetaData = new FileMetaData(oldPath, newPath, date, name); // Assert Assert.That(fileMetaData.OldPath, Is.EqualTo(oldPath), "fileMetaData.OldPath"); Assert.That(fileMetaData.NewPath, Is.EqualTo(newPath), "fileMetaData.NewPath"); Assert.That(fileMetaData.Date, Is.EqualTo(date), "fileMetaData.Date"); Assert.That(fileMetaData.Name, Is.EqualTo(name), "fileMetaData.Name"); }