diff --git a/BeautySalon/BeautySalonDBModels/Implements/ReceptionDatabase.cs b/BeautySalon/BeautySalonDBModels/Implements/ReceptionDatabase.cs index e41d3d7..c005cae 100644 --- a/BeautySalon/BeautySalonDBModels/Implements/ReceptionDatabase.cs +++ b/BeautySalon/BeautySalonDBModels/Implements/ReceptionDatabase.cs @@ -1,10 +1,5 @@ using BeautySalonDBModels.Models; using Npgsql; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace BeautySalonDBModels.Implements { @@ -15,7 +10,7 @@ namespace BeautySalonDBModels.Implements using var conn = GetConnection(); conn.Open(); using var cmd = new NpgsqlCommand("INSERT INTO receptions (reception_id, master_id, service_id, date_reception) " + - "VALUES ((nextval('seq_reception'), @MasterId, @ServiceId, @DateReception)", conn); + "VALUES ((nextval('seq_reception')), @MasterId, @ServiceId, @DateReception)", conn); cmd.Parameters.AddWithValue("@MasterId", reception.MasterId); cmd.Parameters.AddWithValue("@ServiceId", reception.ServiceId); cmd.Parameters.AddWithValue("@DateReception", reception.DateReception); @@ -77,7 +72,7 @@ namespace BeautySalonDBModels.Implements { using var conn = GetConnection(); conn.Open(); - using var cmd = new NpgsqlCommand("update reception set master_id = @MasterId, " + + using var cmd = new NpgsqlCommand("update receptions set master_id = @MasterId, " + "service_id = @ServiceId, date_reception = @DateReception where reception_id = @ReceptionId", conn); cmd.Parameters.AddWithValue("@MasterId", reception.MasterId); cmd.Parameters.AddWithValue("@ServiceId", reception.ServiceId); @@ -86,5 +81,33 @@ namespace BeautySalonDBModels.Implements cmd.ExecuteNonQuery(); } + + public string GetMasterFio(Reception reception) + { + MasterDatabase db = new MasterDatabase(); + int masterId = reception.MasterId; + + List masters = db.GetObjects(); + + foreach (Master master in masters) + { + if (master.MasterId == masterId) return master.FIO.ToString(); + } + return string.Empty; + } + + public string GetServiceName(Reception reception) + { + ServiceDatabase db = new ServiceDatabase(); + int serviceId = reception.ServiceId; + + List services = db.GetObjects(); + + foreach (Service service in services) + { + if (service.ServiceId == serviceId) return service.ServiceName.ToString(); + } + return string.Empty; + } } } diff --git a/BeautySalon/BeautySalonDBModels/Implements/ServiceDatabase.cs b/BeautySalon/BeautySalonDBModels/Implements/ServiceDatabase.cs index abc2f48..be9d59a 100644 --- a/BeautySalon/BeautySalonDBModels/Implements/ServiceDatabase.cs +++ b/BeautySalon/BeautySalonDBModels/Implements/ServiceDatabase.cs @@ -98,5 +98,30 @@ namespace BeautySalonDBModels.Implements } return string.Empty; } + + public List GetFilteredListByService(int serviceId) + { + var list = new List(); + var service = GetObject(serviceId); + if(service != null) + { + int specId = service.SpecialisationId; + using var conn = GetConnection(); + conn.Open(); + using var cmd = new NpgsqlCommand("select * from masters where specialisation_id = @specId", conn); + cmd.Parameters.AddWithValue("@specId", specId); + using var reader = cmd.ExecuteReader(); + while (reader.Read()) + { + list.Add(new Master + { + MasterId = reader.GetInt32(0), + SpecialisationId = reader.GetInt32(1), + FIO = reader.GetString(2) + }); + } + } + return list; + } } }