public async Task WriteAsync(string fileName, PTurnData[] pTurnDataArr) { if (string.IsNullOrWhiteSpace(fileName) || pTurnDataArr == null || pTurnDataArr.Length == 0) { throw new ArgumentException(); } if (!ProcessedDataFilesStorage.Exists(fileName)) { await CreateDataFileAsync(fileName); } using var st = ProcessedDataFilesStorage.GetWriteStream(fileName); st.Position = st.Length; foreach (var pt in pTurnDataArr) { var s = '\t'; var str = string.Concat(Environment.NewLine, pt.FacedUpCards, s, pt.Hand, s, pt.PrevTurns, s, pt.ActiveCards, s, pt.InactiveCards); await st.WriteAsync(Encoding.UTF8.GetBytes(str)); } await st.DisposeAsync(); }
public async Task <bool> CreateDataFileAsync(string fileName) { var columns = string.Join('\t', PDataFileStructure.Columns); var result = await ProcessedDataFilesStorage.CreateFileAsync(fileName, Encoding.UTF8.GetBytes(columns)); return(result); }
public IAsyncEnumerable <PTurnData[]> GetAsyncChunks(string fileName) { if (string.IsNullOrWhiteSpace(fileName)) { throw new ArgumentException(); } var chunks = ProcessedDataFilesStorage.GetAsyncChunks(fileName); return(new PTurnDataFilesAsyncEnum(chunks, Options.BufferSize, PDataFileStructure)); }
public bool Exists(string fileName) { return(ProcessedDataFilesStorage.Exists(fileName)); }
public async Task <Storage.FileInfo[]> GetFilesInfoAsync() { return(await ProcessedDataFilesStorage.GetFilesInfo()); }