Horizon

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 19  →  ?path2? @ 20
/Horizon/Database/SnapshotDatabase.cs
@@ -382,7 +382,7 @@
}
}
 
public async Task SetCompleteSnapshotAsync(TransferSnapshot transferSnapshot, CancellationToken cancellationToken)
public async Task ApplyTransferSnapshotAsync(TransferSnapshot transferSnapshot, CancellationToken cancellationToken)
{
await _databaseLock.WaitAsync(cancellationToken);
try
@@ -392,6 +392,7 @@
{
await sqliteConnection.OpenAsync(cancellationToken);
 
var color = Color.Empty;
using (var dbTransaction = sqliteConnection.BeginTransaction())
{
try
@@ -445,11 +446,13 @@
{
case 0:
sqliteCommand.Parameters.Add(
new SQLiteParameter("@color", null));
new SQLiteParameter("@color", DBNull.Value));
color = Color.Empty;
break;
default:
sqliteCommand.Parameters.Add(
new SQLiteParameter("@color", numeric));
color = Color.FromArgb(transferSnapshot.Color);
break;
}
 
@@ -502,10 +505,13 @@
dbTransaction.Commit();
 
SnapshotCreate?.Invoke(this,
new SnapshotCreateSuccessEventArgs(transferSnapshot.Name,
transferSnapshot.Time, transferSnapshot.Path,
Color.FromArgb(transferSnapshot.Color),
transferSnapshot.Hash));
new SnapshotCreateSuccessEventArgs(
transferSnapshot.Name,
transferSnapshot.Time,
transferSnapshot.Path,
color,
transferSnapshot.Hash)
);
}
}
}
@@ -519,8 +525,12 @@
if (exception.ResultCode != SQLiteErrorCode.Constraint)
{
SnapshotCreate?.Invoke(this,
new SnapshotCreateFailureEventArgs(transferSnapshot.Name, transferSnapshot.Path,
Color.FromArgb(transferSnapshot.Color), exception));
new SnapshotCreateFailureEventArgs(
transferSnapshot.Name,
transferSnapshot.Path,
color,
exception)
);
}
 
throw;
@@ -530,8 +540,12 @@
dbTransaction.Rollback();
 
SnapshotCreate?.Invoke(this,
new SnapshotCreateFailureEventArgs(transferSnapshot.Name, transferSnapshot.Path,
Color.FromArgb(transferSnapshot.Color), exception));
new SnapshotCreateFailureEventArgs(
transferSnapshot.Name,
transferSnapshot.Path,
color,
exception)
);
 
throw;
}
@@ -545,7 +559,7 @@
}
 
 
public async Task<TransferSnapshot> GetCompleteSnapshot(string hash, CancellationToken cancellationToken)
public async Task<TransferSnapshot> GenerateTransferSnapshotAsync(string hash, CancellationToken cancellationToken)
{
await _databaseLock.WaitAsync(cancellationToken);
try
@@ -722,7 +736,7 @@
{
case 0:
sqliteCommand.Parameters.Add(
new SQLiteParameter("@color", null));
new SQLiteParameter("@color", DBNull.Value));
break;
default:
sqliteCommand.Parameters.Add(
@@ -877,7 +891,7 @@
{
case 0:
sqliteCommand.Parameters.Add(
new SQLiteParameter("@color", null));
new SQLiteParameter("@color", DBNull.Value));
break;
default:
sqliteCommand.Parameters.Add(
@@ -1267,10 +1281,22 @@
{
sqliteCommand.Parameters.AddRange(new[]
{
new SQLiteParameter("@hash", hash),
new SQLiteParameter("@color", color.ToArgb())
new SQLiteParameter("@hash", hash)
});
 
var numeric = color.ToArgb();
switch (numeric)
{
case 0:
sqliteCommand.Parameters.Add(
new SQLiteParameter("@color", DBNull.Value));
break;
default:
sqliteCommand.Parameters.Add(
new SQLiteParameter("@color", numeric));
break;
}
 
sqliteCommand.Prepare();
 
try
/Horizon/MainForm.cs
@@ -230,7 +230,7 @@
 
var completeSnapshot = JsonConvert.DeserializeObject<TransferSnapshot>(payload);
 
await _snapshotDatabase.SetCompleteSnapshotAsync(completeSnapshot, _cancellationToken);
await _snapshotDatabase.ApplyTransferSnapshotAsync(completeSnapshot, _cancellationToken);
 
Log.Information($"Stored {completeSnapshot.Name} from {e.Client.IpPort}");
}
/Horizon/Snapshots/SnapshotManagerForm.cs
@@ -1573,7 +1573,7 @@
{
try
{
var completeSnapshot = await _snapshotDatabase.GetCompleteSnapshot((string)rows[i].Cells["HashColumn"].Value, cancellationToken);
var completeSnapshot = await _snapshotDatabase.GenerateTransferSnapshotAsync((string)rows[i].Cells["HashColumn"].Value, cancellationToken);
 
var jsonSnapshot = JsonConvert.SerializeObject(completeSnapshot);