// Author: Gockner, Simon // Created: 2020-09-18 // Copyright(c) 2020 SimonG. All Rights Reserved. using System.Collections.Generic; using System.Reflection; using System.Threading; using System.Threading.Tasks; using GBase.Factories; using GBase.Interfaces; namespace Test.GBase.GBaseIntegrationTest { public class Model { private readonly IGBase _gBase; public Model(IGBaseFactory gBaseFactory) { _gBase = gBaseFactory.Create(new Settings()); Items = new List(); Groups = new List(); } public List Items { get; private set; } public List Groups { get; private set; } public async Task Initialize(CancellationToken cancellationToken) { await _gBase.Init("DB", Assembly.GetExecutingAssembly(), cancellationToken); IGBaseTable itemsTable = _gBase.GetTable(); Items = itemsTable.Entries; IGBaseTable groupsTable = _gBase.GetTable(); Groups = groupsTable.Entries; } public void AddItem(IItem item) { Items.Add(item); _gBase.AddEntry(item); } public void AddGroup(IGroup group) { Groups.Add(group); _gBase.AddEntry(@group); } } }