public async Task <int> Save(ISerializablePayload payload) { var nextFileNumber = GetNewFileNumber(); await Save(payload, nextFileNumber); return(nextFileNumber); }
public async Task Save(ISerializablePayload payload, int fileNumber) { foreach (var serializer in payload.GetSerializableParts()) { var path = Path.Combine(_rootPath, $"{fileNumber}{serializer.Extension}"); using (var targetStream = File.Open(path, FileMode.Create)) { await serializer.Serialize(targetStream); } } }