namespace HopFrame.Web.Admin; public abstract class ModelRepository : IModelRepository { public abstract Task> ReadAll(); public abstract Task Create(TModel model); public abstract Task Update(TModel model); public abstract Task Delete(TModel model); public async Task> ReadAllO() { var models = await ReadAll(); return models.Select(m => (object)m); } public async Task CreateO(object model) { return await Create((TModel)model); } public async Task UpdateO(object model) { return await Update((TModel)model); } public Task DeleteO(object model) { return Delete((TModel)model); } } public interface IModelRepository { Task> ReadAllO(); Task CreateO(object model); Task UpdateO(object model); Task DeleteO(object model); }