1
- using System ;
1
+ using System ;
2
+ using System . Collections . Generic ;
3
+ using System . Globalization ;
4
+ using System . IO ;
2
5
3
- namespace RECmd ;
4
-
5
- public class BatchCsvOut
6
+ namespace RECmd
6
7
{
7
- public string HivePath { get ; set ; }
8
- public string HiveType { get ; set ; }
9
- public string Description { get ; set ; }
10
- public string Category { get ; set ; }
11
- public string KeyPath { get ; set ; }
12
- public string ValueName { get ; set ; }
8
+ public class BatchCsvOut
9
+ {
10
+ public string HivePath { get ; set ; }
11
+ public string HiveType { get ; set ; }
12
+ public string Description { get ; set ; }
13
+ public string Category { get ; set ; }
14
+ public string KeyPath { get ; set ; }
15
+ public string ValueName { get ; set ; }
16
+
17
+ public string ValueType { get ; set ; }
18
+ public string ValueData { get ; set ; }
19
+ public string ValueData2 { get ; set ; }
20
+ public string ValueData3 { get ; set ; }
13
21
14
- public string ValueType { get ; set ; }
15
- public string ValueData { get ; set ; }
16
- public string ValueData2 { get ; set ; }
17
- public string ValueData3 { get ; set ; }
22
+ public string Comment { get ; set ; }
23
+ public bool Recursive { get ; set ; }
24
+ public bool Deleted { get ; set ; }
18
25
19
- public string Comment { get ; set ; }
20
- public bool Recursive { get ; set ; }
21
- public bool Deleted { get ; set ; }
26
+ public DateTimeOffset ? LastWriteTimestamp { get ; set ; }
22
27
28
+ public string PluginDetailFile { get ; set ; }
23
29
24
- public DateTimeOffset ? LastWriteTimestamp { get ; set ; }
30
+ // Method to write the CSV
31
+ public static void WriteCsv ( string filePath , List < BatchCsvOut > data )
32
+ {
33
+ string dateTimeFormat = "yyyy-MM-dd HH:mm:ss.fffffff" ;
34
+ using ( StreamWriter writer = new StreamWriter ( filePath ) )
35
+ {
36
+ // Write CSV header
37
+ writer . WriteLine ( "HivePath,HiveType,Description,Category,KeyPath,ValueName,ValueType,ValueData,ValueData2,ValueData3,Comment,Recursive,Deleted,LastWriteTimestamp,PluginDetailFile" ) ;
25
38
26
- public string PluginDetailFile { get ; set ; }
27
- }
39
+ // Write CSV rows
40
+ foreach ( var item in data )
41
+ {
42
+ string formattedTimestamp = item . LastWriteTimestamp ? . ToString ( dateTimeFormat , CultureInfo . InvariantCulture ) ?? string . Empty ;
43
+ writer . WriteLine ( $ "{ item . HivePath } ,{ item . HiveType } ,{ item . Description } ,{ item . Category } ,{ item . KeyPath } ,{ item . ValueName } ,{ item . ValueType } ,{ item . ValueData } ,{ item . ValueData2 } ,{ item . ValueData3 } ,{ item . Comment } ,{ item . Recursive } ,{ item . Deleted } ,{ formattedTimestamp } ,{ item . PluginDetailFile } ") ;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
0 commit comments