diff --git a/BeautySalon/BeautySalonDBModels/Implements/ChequeDB.cs b/BeautySalon/BeautySalonDBModels/Implements/ChequeDB.cs new file mode 100644 index 0000000..0d141a8 --- /dev/null +++ b/BeautySalon/BeautySalonDBModels/Implements/ChequeDB.cs @@ -0,0 +1,79 @@ +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 ChequeDB : AbstractWorkWithStorage + { + public override void Add(Cheque cheque) + { + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("INSERT INTO cheques (client_id, reception_id) VALUES (@ClientId, @ReceptionId)", conn); + cmd.Parameters.AddWithValue("@ClientId", cheque.ClientId); + cmd.Parameters.AddWithValue("@ReceptionId", cheque.ReceptionId); + cmd.ExecuteNonQuery(); + } + + public override Cheque? GetObject(int id) + { + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("SELECT * FROM cheques WHERE cheque_id = {id}", conn); + using var reader = cmd.ExecuteReader(); + if (reader.Read()) + { + return new Cheque + { + ChequeId = reader.GetInt32(0), + ClientId = reader.GetInt32(1), + ReceptionId = reader.GetInt32(2) + }; + } + return null; + } + + public override List GetObjects() + { + var cheques = new List(); + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("SELECT * FROM cheques order by cheque_id", conn); + using var reader = cmd.ExecuteReader(); + while (reader.Read()) + { + cheques.Add(new Cheque + { + ChequeId = reader.GetInt32(0), + ClientId = reader.GetInt32(1), + ReceptionId = reader.GetInt32(2) + }); + } + return cheques; + } + + public override Cheque? Remove(int id) + { + var cheque = GetObject(id); + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("delete from cheques where cheque_id = {id}", conn); + cmd.ExecuteNonQuery(); + return cheque; + } + + public override void Update(Cheque cheque) + { + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("update cheque set client_id = {cheque.ClientId}, " + + "reception_id = {cheque.ReceptionId} where cheque_id = {cheque.ChequeId}", conn); + cmd.ExecuteNonQuery(); + } + } +} diff --git a/BeautySalon/BeautySalonDBModels/Implements/ClientDB.cs b/BeautySalon/BeautySalonDBModels/Implements/ClientDB.cs index 666e3f3..d8cd2c4 100644 --- a/BeautySalon/BeautySalonDBModels/Implements/ClientDB.cs +++ b/BeautySalon/BeautySalonDBModels/Implements/ClientDB.cs @@ -38,7 +38,7 @@ namespace BeautySalonDBModels.Implements var clients = new List(); using var conn = GetConnection(); conn.Open(); - using var cmd = new NpgsqlCommand("SELECT * FROM clients order by id", conn); + using var cmd = new NpgsqlCommand("SELECT * FROM clients order by client_id", conn); using var reader = cmd.ExecuteReader(); while (reader.Read()) { @@ -58,12 +58,17 @@ namespace BeautySalonDBModels.Implements using var conn = GetConnection(); conn.Open(); using var cmd = new NpgsqlCommand("delete from clients where client_id = {id}", conn); + cmd.ExecuteNonQuery(); return client; } public override void Update(Client client) { - + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("update clients set fio = {client.FIO}, " + + "age = {client.Age} where client_id = {client.ClientId}", conn); + cmd.ExecuteNonQuery(); } } }