From 1498d5b7b7d0c028fcd3f14e402fe09e582fbf38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=91=D0=B0=D0=BA=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D1=81=D0=BA=D0=B0=D1=8F?= Date: Thu, 2 May 2024 20:24:28 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B0=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8E=20=D0=BF=D1=80=D0=B8=D0=B5=D0=BC=D0=B0=20(Receptions)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/ReceptionBD.cs | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 BeautySalon/BeautySalonDBModels/Implements/ReceptionBD.cs diff --git a/BeautySalon/BeautySalonDBModels/Implements/ReceptionBD.cs b/BeautySalon/BeautySalonDBModels/Implements/ReceptionBD.cs new file mode 100644 index 0000000..6abb150 --- /dev/null +++ b/BeautySalon/BeautySalonDBModels/Implements/ReceptionBD.cs @@ -0,0 +1,83 @@ +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 ReceptionBD : AbstractWorkWithStorage + { + public override void Add(Reception reception) + { + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("INSERT INTO receptions (master_id, service_id, date_reception) " + + "VALUES (@MasterId, @ServiceId, @DateReception)", conn); + cmd.Parameters.AddWithValue("@MasterId", reception.MasterId); + cmd.Parameters.AddWithValue("@ServiceId", reception.ServiceId); + cmd.Parameters.AddWithValue("@DateReception", reception.DateReception); + cmd.ExecuteNonQuery(); + } + + public override Reception? GetObject(int id) + { + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("SELECT * FROM receptions WHERE reception_id = {id}", conn); + using var reader = cmd.ExecuteReader(); + if (reader.Read()) + { + return new Reception + { + ReceptionId = reader.GetInt32(0), + MasterId = reader.GetInt32(1), + ServiceId = reader.GetInt32(2), + DateReception = reader.GetDateTime(3) + }; + } + return null; + } + + public override List GetObjects() + { + var receptions = new List(); + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("SELECT * FROM receptions order by reception_id", conn); + using var reader = cmd.ExecuteReader(); + while (reader.Read()) + { + receptions.Add(new Reception + { + ReceptionId = reader.GetInt32(0), + MasterId = reader.GetInt32(1), + ServiceId = reader.GetInt32(2), + DateReception = reader.GetDateTime(3) + }); + } + return receptions; + } + + public override Reception? Remove(int id) + { + var reception = GetObject(id); + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("delete from receptions where reception_id = {id}", conn); + cmd.ExecuteNonQuery(); + return reception; + } + + public override void Update(Reception reception) + { + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("update reception set master_id = {reception.MasterId}, " + + "service_id = {reception.ServiceId}, date_reception = {reception.DateReception} where reception_id = {reception.ReceptionId}", conn); + cmd.ExecuteNonQuery(); + } + } +}