24 lines
801 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);
List<V> 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);
}
}