//Выполняется при загрузке формы, заполнение таблиц данными из БД, настройка элементов управления private void Services_Load(object sender, EventArgs e) { try { formDescriptor = this; reconnectBtn.Font = new Font(reconnectBtn.Font.Name, 10, FontStyle.Regular | FontStyle.Underline); servicesTable.RowsDefaultCellStyle.BackColor = System.Drawing.ColorTranslator.FromHtml("#f1f2f6"); servicesTable.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.ColorTranslator.FromHtml("#ffffff"); groupsTable.RowsDefaultCellStyle.BackColor = System.Drawing.ColorTranslator.FromHtml("#f1f2f6"); groupsTable.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.ColorTranslator.FromHtml("#ffffff"); DBConnection.GetServicesGroups(); groupsTable.DataSource = DBConnection.dtServicesGroups; if (groupsTable.Rows.Count > 0) { groupsTable.Rows[0].Selected = true; ReadGroupsTableRow(0); } DBConnection.GetServicesInGroup(serviceGroupID); servicesTable.DataSource = DBConnection.dtServicesInGroup; if (servicesTable.Rows.Count > 0) { servicesTable.Rows[0].Selected = true; ReadServicesTableRow(0); } } catch (Exception ex) { exceptPanel.Visible = true; richTextBox1.Text = ex.ToString(); } }
//Удаление выбранной услуги private void delServiceBtn_Click(object sender, EventArgs e) { try { if (servicesTable.Rows.Count == 0) { MessageBox.Show("Нет записей для удаления!"); return; } DialogResult result = MessageBox.Show("Подтвердите удаление.", "Удаление", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); //диалоговое окно if (result == DialogResult.OK) { DBConnection.DeleteService(serviceID); DBConnection.GetServicesInGroup(serviceGroupID); servicesTable.DataSource = DBConnection.dtServicesInGroup; if (DBConnection.dtServicesInGroup.Rows.Count > 0) { ReadServicesTableRow(0); } } } catch (Exception ex) { exceptPanel.Visible = true; richTextBox1.Text = ex.ToString(); } }
//Вызов процедуры расчета и вывода итоговой стоимости private void servicesGroup_SelectedIndexChanged(object sender, EventArgs e) { try { if (servicesGroup.SelectedValue != null) { DBConnection.GetServicesInGroup(servicesGroup.SelectedValue.ToString()); service.DataSource = DBConnection.dtServicesInGroup; service.DisplayMember = "Название"; service.ValueMember = "id"; } calculate_cost_and_display(); } catch { } }
//Редактирование услуги, обновление данных в связанных таблицах private void saveServiceBtn_Click(object sender, EventArgs e) { try { if (name.Text == "" || cost.Text == "" || info.Text == "") { MessageBox.Show("Заполните все поля!"); return; } DBConnection.EditServiceInGroup(Services.serviceID, name.Text, info.Text, cost.Text); DBConnection.GetServicesInGroup(Services.serviceGroupID); Services.formDescriptor.servicesTable.DataSource = DBConnection.dtServicesInGroup; Services.ReadServicesTableRow(0); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
//Происходит при загрузке формы, настройка элементов управления private void AddServiceToRequest_Load(object sender, EventArgs e) { try { DBConnection.GetServices(); DBConnection.GetServicesGroups(); servicesGroup.DataSource = DBConnection.dtServicesGroups; servicesGroup.DisplayMember = "Наименование"; servicesGroup.ValueMember = "ID"; DBConnection.GetServicesInGroup(servicesGroup.SelectedValue.ToString()); service.DataSource = DBConnection.dtServicesInGroup; service.DisplayMember = "Название"; service.ValueMember = "id"; dateStart.Value = Convert.ToDateTime("2018-12-19"); dateEnd.Value = Convert.ToDateTime("2019-01-19"); calculate_cost_and_display(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
//Осуществляет получение информации по выбранной строке таблицы с услугами, заполнение данными зависимых таблиц private void groupsTable_CellClick(object sender, DataGridViewCellEventArgs e) { try { if (e.RowIndex >= 0) { groupsTable.Rows[e.RowIndex].Selected = true; ReadGroupsTableRow(e.RowIndex); DBConnection.GetServicesInGroup(serviceGroupID); servicesTable.DataSource = DBConnection.dtServicesInGroup; if (servicesTable.Rows.Count > 0) { ReadServicesTableRow(0); } } } catch (Exception ex) { exceptPanel.Visible = true; richTextBox1.Text = ex.ToString(); } }