public async Task UpdateAsync(EntryStatusEntity status, IEnumerable <EntryEntity> entities) { var path = Path.Combine(Definition.EntryDirectory, Definition.EntryFileFormatter(status.StorageNo)); await fileService.DeleteFileAsync(path); using (var stream = await fileService.OpenAsync(path).ConfigureAwait(false)) { var buffer = status.ToBytes(); stream.Write(buffer, 0, buffer.Length); foreach (var entity in entities) { buffer = entity.ToBytes(); stream.Write(buffer, 0, buffer.Length); } } }
public async Task <EntryStatusEntity[]> QueryEntryStatusListAsync() { var list = new List <EntryStatusEntity>(); var buffer = new byte[EntryStatusEntity.Size]; foreach (var file in await fileService.GetFilesAsync(Definition.EntryDirectory, "*")) { var path = Path.Combine(Definition.EntryDirectory, file); using (var stream = await fileService.OpenReadAsync(path).ConfigureAwait(false)) { stream.Read(buffer, 0, buffer.Length); var entity = new EntryStatusEntity(); entity.FromBytes(buffer); list.Add(entity); } } return(list.ToArray()); }