public async Task <string> GetFile(string path) { if (path is null) { throw new ArgumentNullException(nameof(path)); } if (buffer.ContainsKey(path)) { return(buffer[path]); } var data = ""; if (await dataStore1.Exists(path)) { data = await dataStore1.GetFile(path); } else if (dataStore2 != null && await dataStore2.Exists(path)) { data = await dataStore2.GetFile(path); await dataStore1.SaveFile(path, data); } else { throw new FileNotFoundException(path); } buffer.Add(path, data); return(data); }
public Task SaveFile(string path, string content) { if (dataStore2 != null) { return(dataStore2.SaveFile(path, content)); } throw new NotImplementedException(); }