Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Физическая структура программы
В ходе разработки программы были созданы следующие формы: ‒ «Glavn» – главная форма приложения, на которой производится вся работа с информацией. На форме доступна возможность перехода к формам справочников и документов приложения, а также к формированию отчетов для пользователей; ‒ «Sotrud», «Dolgnost», «Klienty», «Uslugi», «VidyUslig», «Zakazy» - формы для просмотра, редактирования и обработки информации в табличном виде из таблиц БД: Сотрудники, Должности, Клиенты, Услуги, Виды услуг и Заказы соответственно; ‒ «Report1», «Report2», «Report3», «Report4», «Report5» и «Report6» - формы для формирования отчетов: «Личная карточка работников», «Договор», «Статистика по заказам», «Статистика по сотрудникам», «Статистика по услугам» и «Финансовый отчет»; ‒ «Auth» и «Registr» – формы для авторизации и регистрации пользователей; ‒ «ZakazySotr» – форма для просмотра и редактирования заказов конкретного сотрудника из таблицы Заказы; ‒ «DobavUslugi» - форма для добавления и удаления услуг по конкретному заказу представлена на рисунке 11. Рисунок 11 – UML-диаграмма классов «Glavn» и «Sotrud» В ходе разработки программы в классах были разработаны различные методы для функционирования системы, например: ‒ «sortAsc_Click» – обработка события для кнопки «Сортировать по возрастанию» в табличных формах программы, например в форме «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("Возможно такой логин уже существует в БД."); } }
|
||||||
Последнее изменение этой страницы: 2019-11-02; просмотров: 588; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.117.162 (0.027 с.) |