using MedicalDatabaseContracts.Models; using MedicalDatabaseContracts.SearchModels; using MedicalDatabaseContracts.ViewModels; namespace MedicalDatabaseContracts { public interface ILogic where M : AbstractModel where V : AbstractViewModel where S : AbstractSearchModel { List ReadList(S? searchModel); List ReadList(S? searchModel, out long elapsedMilliseconds); V? ReadElement(int id); V? ReadElement(int id, out long elapsedMilliseconds); bool Create(M model); bool Create(M model, out long elapsedMilliseconds); bool Update(M model); bool Update(M model, out long elapsedMilliseconds); bool Delete(int id); bool Delete(int id, out long elapsedMilliseconds); } }