public void Flush(IEnumerable<SignatureInfo> signatureInfos)
{
if (_createdFiles.Count == 0)
throw new ArgumentException("Must have at least one signature info", "signatureInfos");
CloseCreatedStreams();
_storage.Batch(
accessor =>
{
accessor.ClearSignatures(_fileName);
foreach (var item in _createdFiles)
{
var item1 = item;
var level = SignatureInfo.Parse(item.Key).Level;
accessor.AddSignature(_fileName, level,
stream =>
{
using (var cachedSigContent = File.OpenRead(item1.Key))
{
cachedSigContent.CopyTo(stream);
}
});
}
});
_createdFiles = new Dictionary<string, FileStream>();
}