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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
127
<Setter Property="Margin" Value="0 1 5 0"/>
</Style>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.Column="0" Margin="25 25 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150px"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
128
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Style="{StaticResource
LabelStyle}">номер</TextBlock>
<TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding Id}"/>
<TextBlock Grid.Column="0" Grid.Row="1" Style="{StaticResource
LabelStyle}">фамилия</TextBlock>
<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding surname}"/>
<TextBlock Grid.Column="0" Grid.Row="2" Style="{StaticResource
LabelStyle}">имя</TextBlock>
<TextBox Grid.Column="1" Grid.Row="2" Text="{Binding
namePatient}"/>
<TextBlock Grid.Column="0" Grid.Row="3" Style="{StaticResource
LabelStyle}">отчество</TextBlock>
<TextBox Grid.Column="1" Grid.Row="3" Text="{Binding patronymic}"/>
<TextBlock Grid.Column="0" Grid.Row="4" Style="{StaticResource
LabelStyle}">возраст</TextBlock>
<TextBox Grid.Column="1" Grid.Row="4" Text="{Binding age}"/>
<TextBlock Grid.Column="0" Grid.Row="5" Style="{StaticResource
LabelStyle}">пасспорт</TextBlock>
<TextBox Grid.Column="1" Grid.Row="5" Text="{Binding passport}"/>
<TextBlock Grid.Column="0" Grid.Row="6" Style="{StaticResource
LabelStyle}">телефон</TextBlock>
129
<TextBox Grid.Column="1" Grid.Row="6" Text="{Binding phone}"/>
<TextBlock Grid.Column="0" Grid.Row="7" Style="{StaticResource
LabelStyle}">датарегистрации</TextBlock>
<TextBlock Grid.Column="1" Grid.Row="7" Text="{Binding
registration_date}"/>
</Grid>
<Grid Grid.Column="1" Grid.Row="0" Margin="0 25 25 0">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Image HorizontalAlignment="Center"
Source="f718f981e8811108e33c6513391fa2fd_balmer-lawrie-uae-llc.png"
Width="150px" Grid.Row="0"/>
<TextBlock HorizontalAlignment="Center" Grid.Row="1" Text="{Binding
surname}" Style="{StaticResource LabelStyle}"/>
<TextBlock HorizontalAlignment="Center" Grid.Row="2" Text="{Binding
namePatient}" Style="{StaticResource LabelStyle}"/>
<TextBlock HorizontalAlignment="Center" Grid.Row="3" Text="{Binding
patronymic}" Style="{StaticResource LabelStyle}"/>
130
</Grid>
<Grid Grid.Row="1">
<StackPanel>
<Button Content="отправитьсобщение"/>
</StackPanel>
</Grid>
</Grid>
<TextBlock Grid.Row="1" Grid.ColumnSpan="2" FontSize="24"
Margin="25px 0 25px 0"
VerticalAlignment="Center"
HorizontalAlignment="Left">Историязаписейпациента</TextBlock>
<DataGrid Grid.Row="2" Grid.ColumnSpan="2" IsReadOnly="True"
VerticalAlignment="Stretch" Margin="25px 0 25px 0"
x:Name="ReceptionDataGrid">
<DataGrid.Columns>
<DataGridTextColumn Header="айдизаписи" Binding="{Binding Id}"/>
<DataGridTextColumn Header="айдиврача" Binding="{Binding
doctor_id}"/>
<DataGridTextColumn Header="фамилияврача" Binding="{Binding
surnameDoctor}"/>
<DataGridTextColumn Header="имяврача" Binding="{Binding
nameDoctor}"/>
<DataGridTextColumn Header="отчествоврача" Binding="{Binding
patronymicDoctor}"/>
<DataGridTextColumn Header="айдипациента" Binding="{Binding
131
patient_id}"/>
<DataGridTextColumn Header="фамилияпациента" Binding="{Binding
surnamePatient}"/>
<DataGridTextColumn Header="имяпациента" Binding="{Binding
namePatient}"/>
<DataGridTextColumn Header="отчествопациента" Binding="{Binding
patronymicPatient}"/>
<DataGridTextColumn Header="айдипроцедуры" Binding="{Binding
procedure}"/>
<DataGridTextColumn Header="имяпроцедуры" Binding="{Binding
nameProcedure}"/>
<DataGridTextColumn Header="началоприема" Binding="{Binding
begin_reception}"/>
<DataGridCheckBoxColumn Header="статус" Binding="{Binding
status}"/>
<DataGridTextColumn Header="цена" Binding="{Binding price}"/>
</DataGrid.Columns>
</DataGrid>
<Grid Grid.ColumnSpan="2" Grid.Row="3" Margin="0 5 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Content="печать" Grid.Column="0" Margin="15 5 5 5"
132
Padding="5"/>
<Button Content="Сохранить" Grid.Column="1" Margin="5 5 15 5"
Padding="5" Click="ButtonSave_Click"/>
</Grid>
</Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace Reception
{
/// <summary>
/// Логикавзаимодействиядля PatientCard.xaml
/// </summary>
133
public partial class PatientCard : Window
{
SqlConnection connection;
SqlCommand command;
SqlDataReader reader;
string sqlExpression;
Patient patient;
bool newobject;
public PatientCard(Patient patient, SqlConnection connection, bool
newobject = false)
{
InitializeComponent();
this.newobject = newobject;
this.patient = patient;
this.connection = connection;
if (newobject) { patient.registration_date = DateTime.Now; }
this.DataContext = this.patient;
if (!newobject)
{
//загрузкарасписаниядляконкретногопацента
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],
134
[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].[patient] = " + patient.Id;
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.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);
135
ReceptionDataGrid.Items.Add(temp);
}
}
}
}
//save
private void ButtonSave_Click(object sender, RoutedEventArgs e)
{
try
{
if (patient.namePatient.Length <= 1) { new Exception("введитеимя"); }
if (patient.surname.Length == 0) { new Exception("введитефамилию"); }
if (patient.patronymic.Length == 0) { new Exception("введитефамилию");
}
if (patient.age < 18 || patient.age >= 100) { new
Exception("введитевозраст"); }
if (patient.passport == "") { new Exception("введитепасспорт"); }
if (patient.phone.Length != 11) { new
Exception("введитеномертелефона"); }
//запросвбд
if (newobject)
{
patient.registration_date = DateTime.Now;
//добавлениеновогопациентавбазу
136
sqlExpression = string.Format("INSERT INTO [Patient]
([namePatient], [surname], [age], [passport], [phone], [registration_date],
[patronymic]) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}');",
patient.namePatient, patient.surname, patient.age, patient.passport, patient.phone,
patient.registration_date, patient.patronymic);
command = new SqlCommand(sqlExpression, connection);
if (command.ExecuteNonQuery() == 1)
MessageBox.Show("Операциядобавлениявыполненауспешно.", "info",
MessageBoxButton.OK, MessageBoxImage.Information);
else
MessageBox.Show("Произошлаошибканасторонебазыданных.", "Error",
MessageBoxButton.OK, MessageBoxImage.Error);
}
else
{
//Сохранение измененной информации о пациенте
sqlExpression = string.Format("UPDATE [Patient] SET
[Patient].[namePatient] = '{1}', [Patient].[surname] = '{2}', [Patient].[age] = '{3}',
[Patient].[passport] = '{4}', [Patient].[phone] = '{5}', [Patient].[patronymic] = '{6}'
WHERE [Patient].[Id_patient] = {0}", patient.Id, patient.namePatient,
patient.surname, patient.age, patient.passport, patient.phone, patient.patronymic);
command = new SqlCommand(sqlExpression, connection);
if (command.ExecuteNonQuery() == 1)
MessageBox.Show("Операциясохранениявыполненауспешно.", "info",
MessageBoxButton.OK, MessageBoxImage.Information);
else
MessageBox.Show("Произошлаошибканасторонебазыданных.", "Error",
MessageBoxButton.OK, MessageBoxImage.Error);
}
}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
«Управление ресурсами проекта» (на примере организации ООО «ЛАКОСТЭ»)
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)