10. Контрольный пример
При открытии приложения открывается главное окно, на котором представленабаза данных и такие кнопка как: «Добавить», «Удалить», «Сохранить» и «Услуги» (рисунок 18).
Рисунок 18 - Главная форма «Расписание»
Для добавления новой записи в расписание нужно нажать на кнопку «Добавить». Нам откроется новая форма «Добавление» представленная на рисунке 19.
Рисунок 19 - Форма «Добавление»
На форме представлены семь полей для ввода информации и две кнопки: «Вернуться» и «Добавить запись». Слева от полей есть обозначения, которые указывают, для каких данных предназначено это поле.
При нажатии на кнопку «Добавить запись», данные, введённые в поля выше заносятся в расписание. Об этом действии информирует окно изображённое на рисунке 20.
Рисунок 20 - Окно-уведомление «Сохранение»
Нажимая на кнопку «Вернуться», снова открывается главное окно с новой записью, которую мы добавили (рисунок 21).
Рисунок 21 - Форма «Расписание» с добавленной записью
При необходимости удалить запись, нужно выбрать строку для удаления и нажать на кнопку «Удалить».Перед нами появится окно-предупреждение для подтверждения удаления (рисунок 22).
Рисунок 22 - Окно-предупреждение «Удаление»
После этого, выбранная нами запись будет удалена из расписания, как видно на рисунке 23.
Рисунок 23 - Форма «Расписание» с удалённой строкой
Для сохранения результата необходимо нажать на кнопку «Сохранить». Об успешном сохранении предупредит окно, изображённое на рисунке 24.
Рисунок 24 - Окно-уведомление о сохранении
С формы «Расписание» так же осуществляется переход на форму «Услуги» при нажатии на одноимённую кнопку. Форма «Услуги» представлена ниже на рисунке 25.
Рисунок 25 - Форма «Услуги»
На данной форме расположена таблица с перечнем услуг и их стоимостью и расписание косметологической клиники «Эстет». Так же есть кнопка «Вернуться» для возвращения к главной форме «Расписание».
Чтобы закрыть приложение необходимо нажать на крестик в правом верхнем углу на одной из трёх форм: «Расписание», «Услуги» или «Добавление».
Заключение
Данное приложение позволяет просматривать все имеющиеся записи клиентов в косметологическую клинику «Эстет», а также добавлять новые. Создание данного приложения поспособствовало облегчению работы администратора клиники.
Главной целью курсового проекта была разработка и реализация информационной системы для автоматизации работы администратора, чтобы обеспечить удобную запись новых клиентов к косметологам.
Для достижения поставленной цели были реализованы все поставленные задачи: предметная область была исследована, требования к программному продукту сформированы, формы для работы созданы, база данных создана.
В программе были реализованы следующие функции:
1 Просмотр текущего расписания;
2 Добавление данных о новом клиенте;
3 Просмотр и хранение данных об услугах и их стоимости;
4 Изменение данных в расписании;
5 Удаление данных из расписания.
Итоговое приложение было протестировано, и результат проверки дал положительный результат.
В дальнейшем планируется модернизация приложения: улучшение интерфейса, расширение функционала, добавление новых возможностей и ускорение работы программы.
Список использованной литературы
1 Ван, Тассел Д. Стиль, разработка, эффективность, отладка и испытания программ / Ван Тассел Д.. - Москва: Мир, 2017. - 332 c
2 Зиборов В. Visual C# 2012 на примерах; БХВ-Петербург - Москва, 2015. - 966 c.
3 Казанский, А. А. Объектно-ориентированное программирование на языке Microsoft Visual C# в среде разработки Microsoft Visual Studio 2008 и .NET Framework. Учебное пособие и практикум. В 3 частях. Часть 3 / А.А. Казанский. - М.: МГСУ, 2017. - 184 c.
4 Макки, Алекс Введение в .NET 4.0 и VisualStudio 2010 для профессионалов / Алекс Макки. - М.: Вильямс, 2016. - 416 c.
5 Рихтер Джеффри CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#; Питер - Москва, 2016. - 896 c.
6 ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению
7 Словарь косметолога [Электронный ресурс] https://kladovaia--krasoti-ru.turbopages.org/kladovaia-krasoti.ru/s/slovar-kosmetologa/
ПРИЛОЖЕНИЕ А«Листинг программы»
Form1.cs
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceprojectE
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
privatevoid Form1_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataEstetDataSet.tabletime". При необходимости она может быть перемещена или удалена.
this.tabletimeTableAdapter1.Fill(this.dataEstetDataSet.tabletime);
}
privatevoidSaveButton_Click(object sender, EventArgs e)
{
tabletimeTableAdapter.Update(hospitalDataSet);
tabletimeTableAdapter.Update(dataEstetDataSet);
MessageBox.Show("Изменения сохранены");
}
privatevoid dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
DialogResultdr = MessageBox.Show("Удалитьзапись?", "Удаление", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
if (dr == DialogResult.Cancel)
{
e.Cancel = true;
}
}
privatevoid button1_Click(object sender, EventArgs e)
{
AddFormaf = newAddForm();
af.Owner = this;
af.Show();
this.Hide();
}
privatevoid button2_Click(object sender, EventArgs e)
{
Servisaf = newServis();
af.Owner = this;
af.Show();
this.Hide();
}
privatevoid button3_Click(object sender, EventArgs e)
{
{
MessageBox.Show("Удалитьзапись?", "Удаление", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
int a = dataGridView1.CurrentRow.Index;
dataGridView1.Rows.Remove(dataGridView1.Rows[a]);
}
}
}
}
Servis.cs
using System;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceprojectE
{
publicpartialclassServis : Form
{
publicServis()
{
InitializeComponent();
}
privatevoidServis_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataEstetDataSet.servis". При необходимости она может быть перемещена или удалена.
this.servisTableAdapter.Fill(this.dataEstetDataSet.servis);
}
privatevoid pictureBox1_Click(object sender, EventArgs e)
{
}
privatevoid button1_Click(object sender, EventArgs e)
{
Form f = newForm1();
f.Show();
this.Close();
}
}
}
AddForm.cs
using System;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
usingSystem.Data.OleDb;
namespaceprojectE
{
publicpartialclassAddForm : Form
{
privatevoidAddForm_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataEstetDataSet.servis". При необходимости она может быть перемещена или удалена.
this.servisTableAdapter.Fill(this.dataEstetDataSet.servis);
}
publicAddForm()
{
InitializeComponent();
OleDbConnection con;
OleDbDataAdapter da;
OleDbCommandcmd;
DataSet ds;
}
privatevoid label5_Click(object sender, EventArgs e)
{
}
privatevoid button2_Click(object sender, EventArgs e)
{
Form f = newForm1();
f.Show();
this.Close();
}
privatevoid button1_Click(object sender, EventArgs e)//INSERT BUTTON
{
DialogResultdr = MessageBox.Show("Записьдобавлена", "Сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
Form1 main = this.Owneras Form1;
if (main != null)
{
DataRownRow = main.dataEstetDataSet.Tables[0].NewRow();
intrc = main.dataGridView1.RowCount + 1;
nRow[0] = rc;
nRow[1] = textname.Text;
nRow[2] = textpass.Text;
nRow[3] = textphone.Text;
main.hospitalDataSet.Tables[0].Rows.Add(nRow);
main.tabletimeTableAdapter.Update(main.hospitalDataSet.tabletime);
main.hospitalDataSet.Tables[0].AcceptChanges();
main.dataGridView1.Refresh();
textname.Text = "";
textpass.Text = "";
textphone.Text = "";
}
}
privatevoidtextpass_TextChanged(object sender, EventArgs e)
{
}
privatevoidAddForm_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataEstetDataSet.servis". При необходимости она может быть перемещена или удалена.
this.servisTableAdapter1.Fill(this.dataEstetDataSet.servis);
// TODO: данная строка кода позволяет загрузить данные в таблицу "dataEstetDataSet.doctor". При необходимости она может быть перемещена или удалена.
this.doctorTableAdapter1.Fill(this.dataEstetDataSet.doctor);
}
privatevoidtextphone_TextChanged(object sender, EventArgs e)
{
}
privatevoid pictureBox1_Click(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile("abstract.jpg");
}
}
}