Главная страница

Курсовая работа. ПЗ_Самый итоговый вариант. Допустить к защите


Скачать 1.4 Mb.
НазваниеДопустить к защите
АнкорКурсовая работа
Дата25.03.2021
Размер1.4 Mb.
Формат файлаdocx
Имя файлаПЗ_Самый итоговый вариант.docx
ТипПояснительная записка
#188081
страница6 из 12
1   2   3   4   5   6   7   8   9   ...   12

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


В ходе разработки программы были созданы следующие формы:

  • «Glavn» – главная форма приложения, на которой производится вся работа с информацией. На форме доступна возможность перехода к формам справочников и документов приложения, а также к формированию отчетов для пользователей;

  • «Sotrud», «Dolgnost», «Klienty», «Uslugi», «VidyUslig», «Zakazy» - формы для просмотра, редактирования и обработки информации в табличном виде из таблиц БД: Сотрудники, Должности, Клиенты, Услуги, Виды услуг и Заказы соответственно;

  • «Report1», «Report2», «Report3», «Report4», «Report5» и «Report6» - формы для формирования отчетов: «Личная карточка работников», «Договор», «Статистика по заказам», «Статистика по сотрудникам», «Статистика по услугам» и «Финансовый отчет»;

  • «Auth» и «Registr» – формы для авторизации и регистрации пользователей;

  • «ZakazySotr» – форма для просмотра и редактирования заказов конкретного сотрудника из таблицы Заказы;

  • «DobavUslugi» - форма для добавления и удаления услуг по конкретному заказу представлена на рисунке 11.



Рисунок 11 – UML-диаграмма классов «Glavn» и «Sotrud»

В ходе разработки программы в классах были разработаны различные методы для функционирования системы, например:

private void sortAsc_Click(object sender, EventArgs e)
{

if (ComboBoxSortColumns.SelectedIndex > -1) сотрудникиDataGridView.Sort(сотрудникиDataGridView.Columns[ComboBoxSortColumns.SelectedIndex], ListSortDirection.Ascending);

}

  • «sortDesk_Click» – обработка события для кнопки «Сортировать по убыванию» в табличных формах программы, например в форме «Sotrud»:

private void sortDesc_Click(object sender, EventArgs e)

{

if (ComboBoxSortColumns.SelectedIndex > -1) сотрудникиDataGridView.Sort(сотрудникиDataGridView.Columns[ComboBoxSortColumns.SelectedIndex], ListSortDirection.Descending);

}

  • «filtr_Click» – обработка события для кнопки «Применить» для фильтрации содержимого таблицы по выбранному столбцу:

private void filtr_Click(object sender, EventArgs e)

{

сотрудникиBindingSource.Filter = "Фамилия='" + comboBox1.Text + "'";

}

  • «poisk_Click» – обработка события для кнопки «Поиск» в табличных формах программы, например в форме «Sotrud»:

private void poisk_Click(object sender, EventArgs e)

{

for (int i = 0; i < сотрудникиDataGridView.RowCount; i++)

{

сотрудникиDataGridView.Rows[i].Selected = false;

for (int j = 0; j < сотрудникиDataGridView.ColumnCount; j++)

if (сотрудникиDataGridView.Rows[i].Cells[j].Value != null)

if (сотрудникиDataGridView.Rows[i].Cells[j].Value.ToString().Contains(textBox1.Text))

{ сотрудникиDataGridView.Rows[i].Selected = true;

break;

}

}

}

  • «dobavFoto_Click» – обработка события для кнопки «Загрузить фото» в форме «Sotrud»:

private void dobavFoto_Click(object sender, EventArgs e)

{

Bitmap image; //Bitmap для открываемого изображения

OpenFileDialog open_dialog = new OpenFileDialog();

open_dialog.Filter =

"Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*";

if (open_dialog.ShowDialog() == DialogResult.OK)

{

try

{

image = new Bitmap(open_dialog.FileName);

this.фотоPictureBox.Size = image.Size;

фотоPictureBox.Image = image;

фотоPictureBox.Invalidate();

}

catch

{

DialogResult rezult = MessageBox.Show("Невозможно открыть выбранный файл", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

фотоPictureBox.SizeMode = PictureBoxSizeMode.Zoom;

this.Validate();

this.сотрудникиBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.химчисткаDataSet);

}

  • «dobav_Click» – обработка события для кнопки «Добавить» в табличных формах программы, например в форме «Sotrud»:

private void dobav_Click(object sender, EventArgs e)

{

сотрудникиBindingSource.AddNew();

}

  • «udalen_Click» – обработка события для кнопки «Удалить» в табличных формах программы, например в форме «Sotrud»:

private void udalen_Click(object sender, EventArgs e)

{

сотрудникиBindingSource.RemoveCurrent();

}

  • «sohran_Click» – обработка события для кнопки «Сохранить» в табличных формах программы, например в форме «Sotrud»:

private void sohran_Click(object sender, EventArgs e)

{

this.Validate();

this.сотрудникиBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.химчисткаDataSet);

}

  • «obnov_Click» – обработка события для кнопки «Обновить» в табличных формах программы, например в форме «Sotrud»:

private void obnov_Click(object sender, EventArgs e)

{ this.сотрудникиTableAdapter.Fill(this.химчисткаDataSet.Сотрудники);

}

  • «export_Click» – обработка события для кнопки «Экспорт в Excel» в в форме «Uslugi»:

private void export_Click(object sender, EventArgs e)

{

Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
ExcelApp.Application.Workbooks.Add(Type.Missing);

ExcelApp.Columns.ColumnWidth = 15;

ExcelApp.Cells[1, 1] = "Номер услуги";

ExcelApp.Cells[1, 2] = "Вид услуги";

ExcelApp.Cells[1, 3] = "Наименование услуги";

ExcelApp.Cells[1, 4] = "Стоимость услуги";

for (int i = 0; i < услугиDataGridView.ColumnCount; i++)

{

for (int j = 0; j < услугиDataGridView.RowCount; j++)

{

ExcelApp.Cells[j + 2, i + 1] = услугиDataGridView[i, j].Value;

}

}

ExcelApp.Visible = true;

}

  • «RaschetSum_Click» – обработка события для кнопки «Рассчитать сумму» в форме «Zakazy»:

private void RaschetSum_Click(object sender, EventArgs e)

{

double Sum = 0;

for (int i = 0; i < услуги_по_заказуDataGridView.RowCount; i++)

Sum = Sum + Convert.ToDouble(услуги_по_заказуDataGridView.Rows[i].Cells[2].Value) * Convert.ToDouble(услуги_по_заказуDataGridView.Rows[i].Cells[3].Value);

label2.Text = Sum.ToString("c");

}



Рисунок 12 – UML-диаграмма классов «Auth» и «Registr»

  • «vhod_Click» – обработка события для кнопки «Войти» в форме «Auth»:

private void vhod_Click(object sender, EventArgs e)

{

if (textBox1.Text == "")

{

MessageBox.Show("Вы не ввели логин.");

return;

}

if (textBox2.Text == "")

{

MessageBox.Show("Вы не ввели пароль.");

return;

}

if (comboBox1.Text == "")

{

MessageBox.Show("Вы не выбрали тип пользователя.");

return;

}

SqlConnection con = new SqlConnection(@"Data Source=localhost\SQLEXPRESS; Initial Catalog=Химчистка; Integrated Security=True; User Instance=False");

string str = "select * from Авторизация " + "where Логин='" + textBox1.Text + "' " + "and Пароль='" + textBox2.Text + "'" + "and Тип_пользователя='" + comboBox1.Text + "'";

con.Open();

SqlCommand cmd = new SqlCommand(str, con);

object obj = cmd.ExecuteScalar();

if (obj == null)

{

MessageBox.Show("Такого логина и пароля с таким типом пользователя в БД нет.");

}

else

{

if (comboBox1.Text == "Директор")

{

Glavn f1 = new Glavn();

f1.Show();

this.Hide();

admin = true;

}

if (comboBox1.Text == "Менеджер")

{

this.Hide();

Glavn f1 = new Glavn();

f1.Show();

mened = true;

}

if (comboBox1.Text == "Сотрудник")

{

this.Hide();

@fam = textBox1.Text;

ZakazySotr f15 = new ZakazySotr();

f15.Show();

sotr = true;

}

} }

  • «registracia_Click» – обработка события для кнопки «зарегистрироваться» в форме «Registr»:

private void Registracia_Click(object sender, EventArgs e)

{

if (textBox1.Text == "")

{

MessageBox.Show("Вы не ввели логин.");

return;

}

if (textBox2.Text == "")

{

MessageBox.Show("Вы не ввели пароль.");

return;

}

if (textBox2.Text != textBox3.Text)

{

MessageBox.Show("Введенные пароли не совпадают.");

return;

}

SqlConnection con = new SqlConnection(@"Data Source=Localhost\SQLEXPRESS; Initial Catalog=Химчистка; Integrated Security=True; User Instance=False");

try

{

string str="insert into Авторизация (Логин, Пароль, Тип_пользователя) values (@log, @pas, @p3)";

con.Open();

SqlCommand cmd = new SqlCommand(str, con);

cmd.Parameters.AddWithValue("@log", textBox1.Text);

cmd.Parameters.AddWithValue("@pas", textBox2.Text);

cmd.Parameters.AddWithValue("@p3", "Сотрудник");

cmd.ExecuteNonQuery();

con.Close();

MessageBox.Show("Запись успешно добавлена.");
this.Hide();

Auth f13 = new Auth();

f13.Show();

Auth.sotr = true;

}

catch

{

MessageBox.Show("Возможно такой логин уже существует в БД.");

} }
1   2   3   4   5   6   7   8   9   ...   12


написать администратору сайта