27 lines
910 B
C#
27 lines
910 B
C#
using OwnChar.Model;
|
|
|
|
namespace OwnChar.Data;
|
|
|
|
public interface IDataProvider
|
|
{
|
|
bool IsInitialized();
|
|
void SetInitialized();
|
|
bool SaveDatabase();
|
|
|
|
// Model
|
|
T? Create<T>() where T : OwnCharObject;
|
|
bool Save<T>(T obj) where T : OwnCharObject;
|
|
bool Delete<T>(T obj) where T : OwnCharObject;
|
|
IQueryable<T>? GetAll<T>() where T : OwnCharObject;
|
|
|
|
// Hierarchy
|
|
bool SetChild(OwnCharObject parent, OwnCharObject? child, string property, DataProviderSetAction action);
|
|
T? GetChild<T>(OwnCharObject parent, string property) where T : OwnCharObject;
|
|
IQueryable<T>? GetChilds<T>(OwnCharObject parent, string property) where T : OwnCharObject;
|
|
T? GetParent<T>(OwnCharObject child, string property) where T : OwnCharObject;
|
|
|
|
// Explicite getters
|
|
UserAccount? GetUserAccount(string username, string password);
|
|
UserProfile? GetUserProfile(string username);
|
|
}
|