Дипломная работа: Автоматизация учета пациентов на примере ООО «АРХИДЕНТ»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
112
}
SelectionObj = targetpatient;
}
}
private void DoctorDataGrid_SelectionChanged(object sender,
SelectionChangedEventArgs e)
{
Doctor doctor = DoctorDataGrid.SelectedItem as Doctor;
if (doctor != null)
{
ReceptionDataGrid.Items.Clear();
//загрузкарасписаниядляконкретногопацента
sqlExpression = "SELECT [Reception].[Id_Reception],
[Reception].[doctor], [Doctor].[nameDoctor], [Doctor].[surname],
[Doctor].[patronymic], [Reception].[patient], [Patient].[namePatient],
[Patient].[surname], [Patient].[patronymic], [Reception].[procedure],
[Procedure].[nameProcedure], [Reception].[begin_reception], [Reception].[status],
[Reception].[price] FROM (([Reception] LEFT JOIN [Doctor] ON
[Reception].[doctor] = [Doctor].[Id_doc]) LEFT JOIN [Patient] ON
[Reception].[patient] = [Patient].[Id_patient]) LEFT JOIN [Procedure] ON
[Reception].[procedure] = [Procedure].[Id_Procedure] WHERE
[Reception].[doctor] = " + doctor.Id;
command = new SqlCommand(sqlExpression, connection);
reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
113
Reception_ temp = new Reception_();
temp.Id = reader.GetInt32(0);
temp.doctor_id = reader.GetInt32(1);
temp.nameDoctor = reader.GetString(2);
temp.surnameDoctor = reader.GetString(3);
temp.patronymicDoctor = reader.GetString(4);
temp.patient_id = reader.GetInt32(5);
temp.namePatient = reader.GetString(6);
temp.surnamePatient = reader.GetString(7);
temp.patronymicPatient = reader.GetString(8);
temp.procedure = reader.GetInt32(9);
temp.nameProcedure = reader.GetString(10);
temp.begin_reception = reader.GetDateTime(11);
temp.status = reader.GetBoolean(12);
temp.price = reader.GetInt32(13);
ReceptionDataGrid.Items.Add(temp);
}
}
}
}
private void Searchbox_SelectionChanged(object sender, RoutedEventArgs
e)
{
114
switch (usertabcontrol.SelectedIndex)
{
case 0: PatientDataGrid.Items.Filter = new Predicate<object>(item =>
((Patient)item).namePatient.Contains(searchbox.Text) ||
((Patient)item).surname.Contains(searchbox.Text) ||
((Patient)item).patronymic.Contains(searchbox.Text)); break;
case 1: DoctorDataGrid.Items.Filter = new Predicate<object>(item =>
((Doctor)item).nameDoctor.Contains(searchbox.Text) ||
((Doctor)item).surname.Contains(searchbox.Text) ||
((Doctor)item).patronymic.Contains(searchbox.Text)); break;
case 2: ProcedureDataGrid.Items.Filter = new Predicate<object>(item =>
((Procedure)item).nameProcedure.Contains(searchbox.Text)); break;
default: MessageBox.Show("err"); break;
}
}
private void ButtonHelp_Click(object sender, RoutedEventArgs e)
{
help help = new help();
help.Show();
}
private void ButtonUnSelection_Click(object sender, RoutedEventArgs e)
{
if (SelectionObj != null)
{
SelectionObj = null;
ReceptionDataGrid.Items.Clear();
//загрузкарасписаниядляконкретногопацента
sqlExpression = "SELECT [Reception].[Id_Reception],
[Reception].[doctor], [Doctor].[nameDoctor], [Doctor].[surname],
115
[Reception].[patient], [Patient].[namePatient], [Patient].[surname],
[Reception].[procedure], [Procedure].[nameProcedure],
[Reception].[begin_reception], [Reception].[status], [Reception].[price] FROM
(([Reception] LEFT JOIN [Doctor] ON [Reception].[doctor] = [Doctor].[Id_doc])
LEFT JOIN [Patient] ON [Reception].[patient] = [Patient].[Id_patient]) LEFT
JOIN [Procedure] ON [Reception].[procedure] = [Procedure].[Id_Procedure]";
command = new SqlCommand(sqlExpression, connection);
reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
Reception_ temp = new Reception_();
temp.Id = reader.GetInt32(0);
temp.doctor_id = reader.GetInt32(1);
temp.nameDoctor = reader.GetString(2);
temp.surnameDoctor = reader.GetString(3);
temp.patient_id = reader.GetInt32(4);
temp.namePatient = reader.GetString(5);
temp.surnamePatient = reader.GetString(6);
temp.procedure = reader.GetInt32(7);
temp.nameProcedure = reader.GetString(8);
temp.begin_reception = reader.GetDateTime(9);
temp.status = reader.GetBoolean(10);
temp.price = reader.GetInt32(11);
116
ReceptionDataGrid.Items.Add(temp);
}
}
}
}
private void ButtonReport_Click(object sender, RoutedEventArgs e)
{
sqlExpression = "SELECT SUM(price) FROM [Reception]";
command = new SqlCommand(sqlExpression, connection);
object summMoney = command.ExecuteScalar();
sqlExpression = "SELECT SUM(price) FROM [Reception] WHERE
((([Reception].[begin_reception]) > #" + string.Format("{0}/{1}/{2}",
DateTime.Now.Month - 1, DateTime.Now.Day, DateTime.Now.Year) + "#));";
command = new SqlCommand(sqlExpression, connection);
object summMoney_1Month = command.ExecuteScalar();
sqlExpression = "SELECT COUNT(*) FROM [Patient] WHERE
((([Patient].[registration_date]) > #" + string.Format("{0}/{1}/{2}",
DateTime.Now.Month - 1, DateTime.Now.Day, DateTime.Now.Year) + "#));";
command = new SqlCommand(sqlExpression, connection);
object countnewclient = command.ExecuteScalar();
MessageBox.Show("Завсевремяклиентамибылопотрачено: " +
summMoney + "\n" +
"За месяц клиентами было потрачено: " + summMoney_1Month + "\n" +
"За месяц новых пацентов: " + countnewclient,
"отчет", MessageBoxButton.OK, MessageBoxImage.Information);
}
Источник: https://baza.diplomsite.ru/previewfile/286