diff --git a/GBase/FileHandling/FileHandler.cs b/GBase/FileHandling/FileHandler.cs index 96645d3..468fe12 100644 --- a/GBase/FileHandling/FileHandler.cs +++ b/GBase/FileHandling/FileHandler.cs @@ -2,6 +2,8 @@ // Created: 2020-02-12 // Copyright(c) 2020 SimonG. All Rights Reserved. +using System; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using GBase.DataHandling.Factories; @@ -46,6 +48,56 @@ namespace GBase.FileHandling return success; } + /// + /// Set the value for the given property + /// + /// The of the property + /// The of the property + /// The name of the property + /// The value to set + /// A to await + public async Task SetValue(string propertyName, TProperty value) + { + await DataHandler.SetValue(propertyName, value); + } + + /// + /// Remove the value for the given property + /// + /// The of the property + /// The of the property + /// The name of the property + /// The value to set + /// A to await + public async Task RemoveValue(string propertyName, TProperty value) + { + await DataHandler.RemoveValue(propertyName, value); + } + + /// + /// Get the value for the given property, if multiple values are set the first is returned + /// + /// The of the property + /// The of the property + /// The name of the property + /// The value for the given property + public async Task GetValue(string propertyName) + { + return await DataHandler.GetValue(propertyName); + } + + /// + /// Get all the values that are set for the given property + /// + /// The of the property + /// The of the property + /// The name of the property + /// An with all the values for the property + public async Task> GetValues(string propertyName) + { + return await DataHandler.GetValues(propertyName); + } + /// /// Dispose used resources asynchronously /// diff --git a/GBase/Interfaces/FileHandling/IFileHandler.cs b/GBase/Interfaces/FileHandling/IFileHandler.cs index 4d2dc39..9e33882 100644 --- a/GBase/Interfaces/FileHandling/IFileHandler.cs +++ b/GBase/Interfaces/FileHandling/IFileHandler.cs @@ -3,6 +3,7 @@ // Copyright(c) 2020 SimonG. All Rights Reserved. using System; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -20,5 +21,43 @@ namespace GBase.Interfaces.FileHandling /// A to cancel the asynchronous operation /// True if successful, false if not Task Init(string path, CancellationToken cancellationToken); + + /// + /// Set the value for the given property + /// + /// The of the property + /// The of the property + /// The name of the property + /// The value to set + /// A to await + Task SetValue(string propertyName, TProperty value); + + /// + /// Remove the value for the given property + /// + /// The of the property + /// The of the property + /// The name of the property + /// The value to set + /// A to await + Task RemoveValue(string propertyName, TProperty value); + + /// + /// Get the value for the given property, if multiple values are set the first is returned + /// + /// The of the property + /// The of the property + /// The name of the property + /// The value for the given property + Task GetValue(string propertyName); + + /// + /// Get all the values that are set for the given property + /// + /// The of the property + /// The of the property + /// The name of the property + /// An with all the values for the property + Task> GetValues(string propertyName); } } \ No newline at end of file