using MedicalDatabaseContracts; using MedicalDatabaseContracts.Models; using Npgsql; namespace MedicalPostgresqlDatabase { public abstract class AbstractPostgresqlStorage : IStorage where T : AbstractModel { public virtual void Delete(int id) { long elapsedMilliseconds; Delete(id, out elapsedMilliseconds); } public abstract void Delete(int id, out long elapsedMilliseconds); public virtual T? Get(int id) { long elapsedMilliseconds; return Get(id, out elapsedMilliseconds); } public abstract T? Get(int id, out long elapsedMilliseconds); public virtual List GetAll() { long elapsedMilliseconds; return GetAll(out elapsedMilliseconds); } public abstract List GetAll(out long elapsedMilliseconds); public virtual void Insert(T item) { long elapsedMilliseconds; Insert(item, out elapsedMilliseconds); } public abstract void Insert(T item, out long elapsedMilliseconds); public virtual void Update(T item) { long elapsedMilliseconds; Update(item, out elapsedMilliseconds); } public abstract void Update(T item, out long elapsedMilliseconds); protected NpgsqlConnection GetConnection() { return new NpgsqlConnection("Host=127.0.0.1;Port=5555;Username=postgres;Database=medicalbase;Password=postgres"); } } }