-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScanHistoryService.cs
More file actions
91 lines (77 loc) · 2.73 KB
/
Copy pathScanHistoryService.cs
File metadata and controls
91 lines (77 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
using System;
using System.Collections.Generic;
using System.Globalization;
namespace c2flux
{
public static class ScanHistoryService
{
public static string DefaultDatabasePath => ScanHistoryDatabaseService.DefaultDatabasePath;
public static string DatabasePath => ScanHistoryDatabaseService.DatabasePath;
public static void ConfigureDatabasePath(string databasePath)
{
ScanHistoryDatabaseService.ConfigureDatabasePath(databasePath);
}
public static void ConfigureRetention(int maximumScansPerPath)
{
ScanHistoryDatabaseService.ConfigureRetention(maximumScansPerPath);
}
public static bool IsDatabaseMaintenanceRequired()
{
return ScanHistoryDatabaseService.IsMaintenanceRequired();
}
public static string NormalizeDatabasePath(string databasePath)
{
return ScanHistoryDatabaseService.NormalizeDatabasePath(databasePath);
}
public static void MoveDatabase(string targetDatabasePath)
{
ScanHistoryDatabaseService.MoveDatabase(targetDatabasePath);
}
public static string Save(FileSystemEntry rootEntry, IProgress<int> progress = null)
{
return ScanHistoryDatabaseService.Save(rootEntry, progress);
}
public static IReadOnlyList<ScanHistoryInfo> List()
{
return ScanHistoryDatabaseService.List();
}
public static ScanHistorySnapshot Load(string scanId)
{
return ScanHistoryDatabaseService.Load(scanId);
}
}
public sealed class ScanHistoryInfo
{
public string FilePath { get; set; }
public string ScanId { get; set; }
public DateTime CreatedUtc { get; set; }
public string RootPath { get; set; }
public long RootSizeBytes { get; set; }
public int FileCount { get; set; }
public int DirectoryCount { get; set; }
public string DisplayName
{
get
{
return CreatedUtc.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.CurrentCulture) +
" - " +
RootPath +
" - " +
SizeFormatter.Format(RootSizeBytes);
}
}
public override string ToString()
{
return DisplayName;
}
}
public sealed class ScanHistorySnapshot
{
public int Version { get; set; }
public string ScanId { get; set; }
public DateTime CreatedUtc { get; set; }
public string RootPath { get; set; }
public long RootSizeBytes { get; set; }
public FileSystemEntry RootEntry { get; set; }
}
}