добавила реализацию специализации

This commit is contained in:
Елена Бакальская 2024-05-02 20:33:46 +04:00
parent ca5288a1c4
commit 1eef200c11

View File

@ -0,0 +1,77 @@
using BeautySalonDBModels.Models;
using Npgsql;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeautySalonDBModels.Implements
{
public class SpecialisationDB : AbstractWorkWithStorage<Specialisation>
{
public override void Add(Specialisation specialisation)
{
using var conn = GetConnection();
conn.Open();
using var cmd = new NpgsqlCommand("INSERT INTO specialisations (specialisation_name) " +
"VALUES (@Name)", conn);
cmd.Parameters.AddWithValue("@Name", specialisation.Name);
cmd.ExecuteNonQuery();
}
public override Specialisation? GetObject(int id)
{
using var conn = GetConnection();
conn.Open();
using var cmd = new NpgsqlCommand("SELECT * FROM specialisations WHERE specialisation_id = {id}", conn);
using var reader = cmd.ExecuteReader();
if (reader.Read())
{
return new Specialisation
{
SpecialisationId = reader.GetInt32(0),
Name = reader.GetString(1)
};
}
return null;
}
public override List<Specialisation> GetObjects()
{
var specialisations = new List<Specialisation>();
using var conn = GetConnection();
conn.Open();
using var cmd = new NpgsqlCommand("SELECT * FROM specialisations order by specialisation_id", conn);
using var reader = cmd.ExecuteReader();
while (reader.Read())
{
specialisations.Add(new Specialisation
{
SpecialisationId = reader.GetInt32(0),
Name = reader.GetString(1)
});
}
return specialisations;
}
public override Specialisation? Remove(int id)
{
var specialisation = GetObject(id);
using var conn = GetConnection();
conn.Open();
using var cmd = new NpgsqlCommand("delete from specialisations where specialisation_id = {id}", conn);
cmd.ExecuteNonQuery();
return specialisation;
}
public override void Update(Specialisation specialisation)
{
using var conn = GetConnection();
conn.Open();
using var cmd = new NpgsqlCommand("update specialisation set specialisation_name = {specialisation.Name}, " +
"where specialisation_id = {specialisation.SpecialisationId}", conn);
cmd.ExecuteNonQuery();
}
}
}