добавила в реализациях хранилищей для приема и услуги доп методы для поиска имени и для поиска мастеров по выбранной услуге

This commit is contained in:
Елена Бакальская 2024-05-08 12:36:17 +04:00
parent e6621ffa08
commit 0c59a3f9c0
2 changed files with 55 additions and 7 deletions

View File

@ -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<Master> 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<Service> services = db.GetObjects();
foreach (Service service in services)
{
if (service.ServiceId == serviceId) return service.ServiceName.ToString();
}
return string.Empty;
}
}
}

View File

@ -98,5 +98,30 @@ namespace BeautySalonDBModels.Implements
}
return string.Empty;
}
public List<Master> GetFilteredListByService(int serviceId)
{
var list = new List<Master>();
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;
}
}
}