46 lines
1.5 KiB
C#
Raw Normal View History

using MedicalDatabaseContracts;
using MedicalDatabaseContracts.Models;
using Npgsql;
namespace MedicalPostgresqlDatabase
{
public abstract class AbstractPostgresqlStorage<T> : IStorage<T> 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<T> GetAll()
{
long elapsedMilliseconds;
return GetAll(out elapsedMilliseconds);
}
public abstract List<T> 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");
}
}
}