void Command_Files_Set_Time(TimestampType type, ChooseDateTimeDialog.Result result) { var files = RelativeSelectedFiles(); foreach (var file in files) { if (!FileOrDirectoryExists(file)) File.WriteAllBytes(file, new byte[0]); if (File.Exists(file)) { var info = new FileInfo(file); if (type.HasFlag(TimestampType.Write)) info.LastWriteTime = result.Value; if (type.HasFlag(TimestampType.Access)) info.LastAccessTime = result.Value; if (type.HasFlag(TimestampType.Create)) info.CreationTime = result.Value; } else if (Directory.Exists(file)) { var info = new DirectoryInfo(file); if (type.HasFlag(TimestampType.Write)) info.LastWriteTime = result.Value; if (type.HasFlag(TimestampType.Access)) info.LastAccessTime = result.Value; if (type.HasFlag(TimestampType.Create)) info.CreationTime = result.Value; } } }
static public Result Run(Window parent, DateTime datetime) { var dialog = new ChooseDateTimeDialog(datetime) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }