Class FileDataStoreProvider
An implementation of IDataStoreProvider that uses the file system.
Implements
Inherited Members
Namespace: Microsoft.Internal.Studios.Aruba.Infrastructure
Assembly: Aruba.Infrastructure.dll
Syntax
public class FileDataStoreProvider : IDataStoreProvider
Constructors
View SourceFileDataStoreProvider(string, IObjectTextSerializer?)
Initializes a new instance of the FileDataStoreProvider class.
Declaration
public FileDataStoreProvider(string directory, IObjectTextSerializer? objectTextSerializer = null)
Parameters
Type | Name | Description |
---|---|---|
string | directory | The directory to store data. |
IObjectTextSerializer | objectTextSerializer | The optional IObjectTextSerializer to use. XmlObjectTextSerializer is used if null. |
FileDataStoreProvider(string, bool, IObjectTextSerializer?)
Initializes a new instance of the FileDataStoreProvider class.
Declaration
public FileDataStoreProvider(string titleName, bool userData, IObjectTextSerializer? objectTextSerializer = null)
Parameters
Type | Name | Description |
---|---|---|
string | titleName | The name of the title. |
bool | userData | Set to true for the user store, false for the title store. |
IObjectTextSerializer | objectTextSerializer | The optional IObjectTextSerializer to use. XmlObjectTextSerializer is used if null. |
Methods
View SourceDeleteAsync<T>(T)
Delete the object from the data store.
Declaration
public Task DeleteAsync<T>(T dataToDelete) where T : class, new()
Parameters
Type | Name | Description |
---|---|---|
T | dataToDelete | The object to be deleted. |
Returns
Type | Description |
---|---|
Task | The task. |
Type Parameters
Name | Description |
---|---|
T | The type of object to delete. |
DeleteFileAsync(string)
Deletes the specific file in the data store.
Declaration
public Task DeleteFileAsync(string fileName)
Parameters
Type | Name | Description |
---|---|---|
string | fileName | The file to delete. |
Returns
Type | Description |
---|---|
Task | The task. |
GetUserAccessLevel()
Gets the AccessLevel of the current user.
Declaration
public Task<AccessLevel> GetUserAccessLevel()
Returns
Type | Description |
---|---|
Task<AccessLevel> | The users AccessLevel. |
Remarks
The FileDataStoreProvider should only be used when a developer is doing work with templates (see ArubaPlugin.cs), tokens or layouts that they do not want saved to Roster, so it is safe to give users administrator access.
InitializeAsync()
Initializes the data provider.
Declaration
public Task InitializeAsync()
Returns
Type | Description |
---|---|
Task | A task representing the work to connect initialize the data provider. |
LoadAllAsync<T>(bool, bool)
Loads all of the requested T objects into a list from the data store.
Declaration
public Task<IEnumerable<T>> LoadAllAsync<T>(bool forceReload = false, bool updateCache = true) where T : class, new()
Parameters
Type | Name | Description |
---|---|---|
bool | forceReload | Forces data to be reloaded from the original source regardless if the cache already has data. |
bool | updateCache | Flag to update the cache or not. |
Returns
Type | Description |
---|---|
Task<IEnumerable<T>> | A list of all loaded objects of type |
Type Parameters
Name | Description |
---|---|
T | The type of objects to load. |
Remarks
Does not use forceReload or updateCache.
LoadAsync<T>(string?, bool, bool)
Loads the named object of the given type from the store.
Declaration
public Task<T?> LoadAsync<T>(string? name = null, bool forceReload = false, bool updateCache = true) where T : class, new()
Parameters
Type | Name | Description |
---|---|---|
string | name | Optional name of the object in the store if needed. |
bool | forceReload | Forces data to be reloaded from the original source regardless if the cache already has data. |
bool | updateCache | Flag to update the cache or not. |
Returns
Type | Description |
---|---|
Task<T> | The loaded object if found or null if not found. |
Type Parameters
Name | Description |
---|---|
T | The type of object to load. |
Remarks
Does not use forceReload or updateCache.
Exceptions
Type | Condition |
---|---|
DataStoreAccessFailedException | Thrown when loading data fails due to unexpected issues such as access or connectivity. |
LoadFileAsync<T>(string?)
Loads the path as the given generic type.
Declaration
public Task<T?> LoadFileAsync<T>(string? filePath) where T : class, new()
Parameters
Type | Name | Description |
---|---|---|
string | filePath | The path to load the file from. |
Returns
Type | Description |
---|---|
Task<T> | The loaded object if found or null if not found. |
Type Parameters
Name | Description |
---|---|
T | The type of object to load. |
SaveAsync<T>(T, bool, string)
Save the given object to the store.
Declaration
public Task SaveAsync<T>(T dataToSave, bool overwriteExisting = true, string overridePath = "") where T : class, new()
Parameters
Type | Name | Description |
---|---|---|
T | dataToSave | The data to save. |
bool | overwriteExisting | Optional parameter to overwrite any existing object. Defaults to true. |
string | overridePath | Optional parameter to override the file path. Defaults to "". |
Returns
Type | Description |
---|---|
Task | The task. |
Type Parameters
Name | Description |
---|---|
T | The type of the data to save. |
Exceptions
Type | Condition |
---|---|
ObjectExistsException | Thrown when the object exists already and overwriteExisting is false. |