Skip to content

Commit 103c406

Browse files
Merge pull request #86 from cyberman1/patch-1
Update BatchCsvOut.cs
2 parents 92ca9c1 + 7f79d1a commit 103c406

File tree

1 file changed

+41
-20
lines changed

1 file changed

+41
-20
lines changed

RECmd/BatchCsvOut.cs

+41-20
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,48 @@
1-
using System;
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Globalization;
4+
using System.IO;
25

3-
namespace RECmd;
4-
5-
public class BatchCsvOut
6+
namespace RECmd
67
{
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; }
1321

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; }
1825

19-
public string Comment { get; set; }
20-
public bool Recursive { get; set; }
21-
public bool Deleted { get; set; }
26+
public DateTimeOffset? LastWriteTimestamp { get; set; }
2227

28+
public string PluginDetailFile { get; set; }
2329

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");
2538

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

Comments
 (0)