На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

ИС Санаторий (C#, WPF, WinForms, SqLite, SQL Server)

Задание

Разработать на языке C# приложение для лечебно-медецинской организации (санатория).

Функционал программы

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

Содержание отчета к программе

Введение. 2

1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ.. 4

1.1 Информационное обеспечение задачи. 4

1.2. Обзор и анализ существующих программных решений. 5

1.3. Выбор состава технических и программных средств. 6

2 АНАЛИЗ СРЕД И ЯЗЫКОВ КАК ИНСТРУМЕНТОВ РЕАЛИЗАЦИИ.. 11

2.1 Современные языки программирования. 11

2.2 Язык высокого уровня C#. 12

2.3 Windows Forms или Windows Presentation Foundation. 13

2.4 Техническое задание на разработку приложения «Санаторий». 16

3 РАЗРАБОТКА ПРИЛОЖЕНИЯ СПРАВОЧНИК СПОРТСМЕНОВ НА ЯЗЫКЕ C#. 18

3.1 Постановка задачи. 18

3.2 Физическая структура базы данных. 18

3.3 Физическая структура программы.. 23

3.4 Разработка пользовательского интерфейса. 27

3.5  Инструкция пользователя. 33

ЗАКЛЮЧЕНИЕ. 37

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 38

ПРИЛОЖЕНИЯ.. 40

Фрагмент программного кода

using System;
using MaterialSkin;
using MaterialSkin.Controls;
using System.Windows.Forms;
using System.Configuration;
using System.Data.SqlClient;

namespace Sanatorium.UI
{
    public partial class ProceduresForm : MaterialForm
    {
        // Основные Sql параметры
        SqlConnection SqlConnection;
        public ProceduresForm()
        {
            InitializeComponent();
            var materialSkinManager = MaterialSkinManager.Instance;
            materialSkinManager.AddFormToManage(this);
            materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;
            materialSkinManager.ColorScheme = new ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900, Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE);
        }

        private async void ProceduresForm_Load(object sender, EventArgs e)
        {
            SqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["Sanatorium"].ConnectionString); // строка подключения
            await SqlConnection.OpenAsync(); // открыли подключение к БД
            SqlDataReader sqlReader = null;
            SqlCommand command = new SqlCommand("SELECT * FROM [Procedures] ", SqlConnection);
            try
            {
                sqlReader = await command.ExecuteReaderAsync();
                while (await sqlReader.ReadAsync())
                {
                    listBox1.Items.Add(Convert.ToString(sqlReader["ProcedureId"]) + "   " + Convert.ToString(sqlReader["ProcedureName"]) +
                        "  " + Convert.ToString(sqlReader["ProcedureDate"]) + "   " + Convert.ToString(sqlReader["PatientName"]) +
                        "   " + Convert.ToString(sqlReader["DoctorName"]));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                sqlReader?.Close(); // закрыли подключение к БД
            }
        }

        private async void ADDguna2Btn_Click(object sender, EventArgs e)
        {
            if (label5.Visible)
                label5.Visible = false;
            if (!string.IsNullOrEmpty(ProcedureNameTb.Text) && !string.IsNullOrWhiteSpace(ProcedureNameTb.Text) &&
               !string.IsNullOrEmpty(ProcedureDateDateTime1.Text) && !string.IsNullOrWhiteSpace(ProcedureDateDateTime1.Text) &&
               !string.IsNullOrEmpty(PatientNameTb.Text) && !string.IsNullOrWhiteSpace(PatientNameTb.Text) &&
               !string.IsNullOrEmpty(DoctorNameTb.Text) && !string.IsNullOrWhiteSpace(DoctorNameTb.Text))
            {
                SqlCommand command = new SqlCommand("INSERT INTO [Procedures] (ProcedureName, ProcedureDate, " +
                    "PatientName, DoctorName) " +
                    "VALUES(@ProcedureName, @ProcedureDate, @PatientName, @DoctorName)", SqlConnection);
                command.Parameters.AddWithValue("ProcedureName", ProcedureNameTb.Text);
                command.Parameters.AddWithValue("ProcedureDate", ProcedureDateDateTime1.Text);
                command.Parameters.AddWithValue("PatientName", PatientNameTb.Text);
                command.Parameters.AddWithValue("DoctorName", DoctorNameTb.Text);

                await command.ExecuteNonQueryAsync();
            }
            else
            {
                label5.Visible = true;
                label5.Text = "Поля: Процедура, Дата, Пациент и Врач должны быть заполнены!";
            }
        }

        private async void UpdateToolStripMenuItem_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            SqlDataReader sqlReader = null;
            SqlCommand command = new SqlCommand("SELECT * FROM [Procedures] ", SqlConnection);
            try
            {
                sqlReader = await command.ExecuteReaderAsync();
                while (await sqlReader.ReadAsync())
                {
                    listBox1.Items.Add(Convert.ToString(sqlReader["ProcedureId"]) + "   " + Convert.ToString(sqlReader["ProcedureName"]) +
                        "  " + Convert.ToString(sqlReader["ProcedureDate"]) + "   " + Convert.ToString(sqlReader["PatientName"]) +
                        "   " + Convert.ToString(sqlReader["DoctorName"]));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                sqlReader?.Close(); // закрыли подключение к БД
            }
        }

        private async void EditBtn_Click(object sender, EventArgs e)
        {
            if (label11.Visible)
                label11.Visible = false;
            if (!string.IsNullOrEmpty(IDTb.Text) && !string.IsNullOrWhiteSpace(IDTb.Text) &&
               !string.IsNullOrEmpty(ProcedureNameTextBox.Text) && !string.IsNullOrWhiteSpace(ProcedureNameTextBox.Text) &&
               !string.IsNullOrEmpty(ProcedureDateDateTime2.Text) && !string.IsNullOrWhiteSpace(ProcedureDateDateTime2.Text) &&
               !string.IsNullOrEmpty(PatientNameTextBox.Text) && !string.IsNullOrWhiteSpace(PatientNameTextBox.Text) &&
               !string.IsNullOrEmpty(DoctorNameTextBox.Text) && !string.IsNullOrWhiteSpace(DoctorNameTextBox.Text))
            {
                SqlCommand command = new SqlCommand("UPDATE [Procedures] SET [ProcedureName]=@ProcedureName, " +
                    "[ProcedureDate]=@ProcedureDate, [PatientName]=@PatientName, [DoctorName]=@DoctorName " +
                    "WHERE [ProcedureId]=@Id", SqlConnection);
                command.Parameters.AddWithValue("Id", IDTb.Text);
                command.Parameters.AddWithValue("ProcedureName", ProcedureNameTextBox.Text);
                command.Parameters.AddWithValue("ProcedureDate", ProcedureDateDateTime2.Text);
                command.Parameters.AddWithValue("PatientName", PatientNameTextBox.Text);
                command.Parameters.AddWithValue("DoctorName", DoctorNameTextBox.Text);


                await command.ExecuteNonQueryAsync();
            }
            else if (!string.IsNullOrEmpty(IDTb.Text) && !string.IsNullOrWhiteSpace(IDTb.Text))
            {
                label11.Visible = true;
                label11.Text = "Поля: Процедура, Дата, Пациент и Врач должны быть заполнены!";
            }
            else
            {
                label11.Visible = true;
                label11.Text = "Id должен быть заполнен!";
            }
        }

        private async void DeleteBtn_Click(object sender, EventArgs e)
        {
            if (label13.Visible)
                label13.Visible = false;
            if (!string.IsNullOrEmpty(IDTextBox.Text) && !string.IsNullOrWhiteSpace(IDTextBox.Text))
            {
                SqlCommand command = new SqlCommand("DELETE FROM [Procedures] WHERE [ProcedureId]=@Id", SqlConnection); // sql комманда удаление
                command.Parameters.AddWithValue("Id", IDTextBox.Text);

                await command.ExecuteNonQueryAsync();
            }
            else
            {
                label13.Visible = true;
                label13.Text = "Id должен быть заполнен!";
            }
        }

        private void CloseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void BackToolStripMenuItem_Click(object sender, EventArgs e)
        {
            UserPageWindow pageWindow = new UserPageWindow();
            pageWindow.Show();
            Hide();
        }
    }
}

Скриншот архива с проектом

Пояснения по запуску программы

Запустить Visual Studio 2019 или 2022, поменять путь к базе (см. инструкцию на моем канале Сергей Галкин - YouTube), запустить проект.

Купить 2500,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

2500,00 

Покупается впервые!
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

Санаторий.rar
70790346
Оцени работу

рейтинг

ИС Санаторий (C#, WPF, WinForms, SqLite, SQL Server)
ИС для лечебно-медицинской организации (санатория). Приложение обеспечивает ведение данных пациентов, врачей и информации о процедурах.
Категория: Образование
Стоимость: 2500,00