- make methods async

pull/27/head
Simon G 5 years ago
parent 92cca71166
commit 781c6b3c03
  1. 4
      GBase/GBase.cs
  2. 10
      GBase/GBaseTable.cs
  3. 2
      GBase/Interfaces/IGBase.cs
  4. 6
      GBase/Interfaces/IGBaseTable.cs

@ -123,13 +123,13 @@ namespace GBase
return Tables.Remove(table);
}
public bool AddEntry<T>(T entry) where T : INotifyGBaseEntryChanged
public async Task<bool> AddEntry<T>(T entry) where T : INotifyGBaseEntryChanged
{
IGBaseTable<T> table = GetTable<T>();
if (table == null)
throw new Exception(); //TODO: Create exception
return table.AddEntry(entry);
return await table.AddEntry(entry);
}
/// <summary>

@ -123,11 +123,13 @@ namespace GBase
/// </summary>
/// <param name="entry">The entry implementing <see cref="INotifyGBaseEntryChanged"/></param>
/// <returns>True if successful, false if not</returns>
public bool AddEntry(T entry) //TODO: Write to file
public async Task<bool> AddEntry(T entry) //TODO: Write to file
{
Entries.Add(entry);
entry.GBaseEntryChanged += OnGBaseEntryChanged;
await _fileHandler.AddEntry(entry, this);
return true;
}
@ -136,13 +138,15 @@ namespace GBase
/// </summary>
/// <param name="entry">The entry implementing <see cref="INotifyGBaseEntryChanged"/></param>
/// <returns>True if successful, false if not</returns>
public bool RemoveEntry(T entry) //TODO: remove from file
public async Task<bool> RemoveEntry(T entry) //TODO: remove from file
{
if (!Entries.Contains(entry))
return false;
entry.GBaseEntryChanged -= OnGBaseEntryChanged;
await _fileHandler.RemoveEntry(entry);
return Entries.Remove(entry);
}
@ -190,7 +194,7 @@ namespace GBase
foreach (var entry in Entries.ToList())
{
RemoveEntry(entry);
await RemoveEntry(entry);
}
Entries.Clear();

@ -58,6 +58,6 @@ namespace GBase.Interfaces
/// <returns>True if successful, false if not</returns>
bool RemoveTable(IGBaseTable table);
bool AddEntry<T>(T entry) where T : INotifyGBaseEntryChanged;
Task<bool> AddEntry<T>(T entry) where T : INotifyGBaseEntryChanged;
}
}

@ -16,13 +16,13 @@ namespace GBase.Interfaces
/// The entries of this <see cref="IGBaseTable"/>
/// </summary>
List<T> Entries { get; }
/// <summary>
/// Add an entry that implements <see cref="INotifyGBaseEntryChanged"/> to this <see cref="IGBaseTable"/>
/// </summary>
/// <param name="entry">The entry implementing <see cref="INotifyGBaseEntryChanged"/></param>
/// <returns>True if successful, false if not</returns>
bool AddEntry(T entry);
Task<bool> AddEntry(T entry);
//T GetEntry(T entry); //TODO: This doesn't make sense... (passing instance of T to get the same instance back...)
@ -32,7 +32,7 @@ namespace GBase.Interfaces
/// </summary>
/// <param name="entry">The entry implementing <see cref="INotifyGBaseEntryChanged"/></param>
/// <returns>True if successful, false if not</returns>
bool RemoveEntry(T entry);
Task<bool> RemoveEntry(T entry);
}
/// <summary>

Loading…
Cancel
Save