Esempio n. 1
0
        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);
            //}
        }
Esempio n. 2
0
        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");
        }