26 lines
907 B
C#

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