Диплом: Автоматизация обработки заявок в ООО УК «Март»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
147
MySqlConnection m_dbConn;
MySqlCommand m_sqlCmd;
m_dbConn = new MySqlConnection();
m_sqlCmd = new MySqlCommand();
if (dataGridView["status", point.Y].Value.ToString() == "Используется")
m_sqlCmd.CommandText = "UPDATE asteriskproxy_extensions SET status=0 " +
"WHERE id='" + dataGridView["id", point.Y].Value.ToString()
+ "';";
else
m_sqlCmd.CommandText = "UPDATE asteriskproxy_extensions SET status=1 " +
"WHERE id='" + dataGridView["id", point.Y].Value.ToString()
+ "';";
DataTable dTable = new DataTable();
if (m_dbConn.State != ConnectionState.Open) {
m_dbConn = new
MySqlConnection("server=192.168.1.40;user=root;password=1234;database=freepbx;");
m_dbConn.Open();
m_sqlCmd.Connection = m_dbConn;
}
try {
m_sqlCmd.ExecuteNonQuery();
/*MessageBox.Show("Статус абонента номер " + dataGridView["number",
point.Y].Value.ToString() + " с идентификатором в базе " +
dataGridView["id", point.Y].Value.ToString() + " успешно изменен.",
"Удалить / Восстановить.");*/
}
catch (MySqlException ex) {
MessageBox.Show("Error: " + ex.Message);
}
finally {
// Обновить интерфейс справочника
UpdateInterface_ExtensionsWindow updateInterface = new
UpdateInterface_ExtensionsWindow();
updateInterface.Update();
}
}
}
}
using MySql.Data.MySqlClient;
using MySql.Data.MySqlClient;
using System.Data;
using System.Windows.Forms;
namespace AsteriskProxyGUI {
public partial class AddExtensionWindow : Form {
public AddExtensionWindow() {
InitializeComponent();
}
/*
* Отправка данных в БД и запрос на обновление данных на форме справочника
*/
private void add_button_Click(object sender, System.EventArgs e) {
MySqlConnection m_dbConn;
MySqlCommand m_sqlCmd;
m_dbConn = new MySqlConnection();
148
m_sqlCmd = new MySqlCommand();
DataTable dTable = new DataTable();
if (m_dbConn.State != ConnectionState.Open) {
m_dbConn = new
MySqlConnection("server=192.168.1.40;user=root;password=1234;database=freepbx;");
m_dbConn.Open();
m_sqlCmd.Connection = m_dbConn;
}
try {
m_sqlCmd.CommandText = "INSERT INTO asteriskproxy_extensions(number, name,
note, status) VALUES(" +
"'" + number_cueTextBox.Text + "', " +
"'" + name_cueTextBox.Text + "', " +
"'" + note_cueTextBox.Text + "', " +
"true);";
m_sqlCmd.ExecuteNonQuery();
var result = MessageBox.Show("Абонент номер " + number_cueTextBox.Text + "
успешно добавлен.\n Продолжить добавление?",
"Успешное добавление в базу.",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (result != DialogResult.Yes) {
Close();
}
}
catch (MySqlException ex) {
MessageBox.Show("Error: " + ex.Message);
}
finally {
m_dbConn.Close();
// Обновить интерфейс справочника
UpdateInterface_ExtensionsWindow updateInterface = new
UpdateInterface_ExtensionsWindow();
updateInterface.Update();
}
}
/*
* Процедура контроля ввода номера абонента в поле
* позволяет вводить только цифры
*/
private void number_cueTextBox_KeyPress(object sender, KeyPressEventArgs e) {
if (!int.TryParse(number_cueTextBox.Text + e.KeyChar.ToString(), out int a) &&
(e.KeyChar != 8)) {
e.Handled = true;
}
}
/*
* Процедура заполнения выпадающего списка транков данными из базы
*/
private void fill_combobox() {
MySqlConnection m_dbConn;
MySqlCommand m_sqlCmd;
m_dbConn = new MySqlConnection();
m_sqlCmd = new MySqlCommand();
DataTable dTable = new DataTable();
149
string sqlQuery;
if (m_dbConn.State != ConnectionState.Open) {
m_dbConn = new
MySqlConnection("server=192.168.1.40;user=root;password=1234;database=freepbx;");
m_dbConn.Open();
}
try {
sqlQuery = "SELECT * FROM asteriskproxy_trunks;";
MySqlCommand command = new MySqlCommand(sqlQuery, m_dbConn);
MySqlDataReader dataReader = command.ExecuteReader();
while (dataReader.Read()) {
string cb_item = "";
cb_item += dataReader.GetString(dataReader.GetOrdinal("id")) + " - ";
cb_item += dataReader.GetString(dataReader.GetOrdinal("trunk"));
comboBox.Items.Add(cb_item);
}
}
catch (MySqlException ex) {
MessageBox.Show("Ошибка: " + ex.Message);
}
m_dbConn.Close();
}
/*
* Процедура обработки загрузки формы
*/
private void AddExtensionWindow_Load(object sender, System.EventArgs e) {
fill_combobox(); // Заполнить выподающий список номерами транков
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace AsteriskProxyGUI {
public partial class EditExtensionWindow : Form {
public EditExtensionWindow() {
InitializeComponent();
}
/*
* Процедура контроля ввода номера абонента в поле
* позволяет вводить только цифры
*/
private void number_cueTextBox_KeyPress(object sender, KeyPressEventArgs e) {
if (!int.TryParse(number_cueTextBox.Text + e.KeyChar.ToString(), out int a) &&
(e.KeyChar != 8)) {
e.Handled = true;
}
}
150
/*
* Процедура заполнения данными, полученными из ExtensionWindow
*/
public void fill_data(string id, string number, String name, String note) {
id_cueTextBox.Text = id;
number_cueTextBox.Text = number;
name_cueTextBox.Text = name;
note_cueTextBox.Text = note;
}
/*
* Процедура обработки нажатия кнопки Сохранить
*/
private void save_button_Click(object sender, EventArgs e) {
MySqlConnection m_dbConn;
MySqlCommand m_sqlCmd;
m_dbConn = new MySqlConnection();
m_sqlCmd = new MySqlCommand();
DataTable dTable = new DataTable();
if (m_dbConn.State != ConnectionState.Open) {
m_dbConn = new
MySqlConnection("server=192.168.1.40;user=root;password=1234;database=freepbx;");
m_dbConn.Open();
m_sqlCmd.Connection = m_dbConn;
}
try {
m_sqlCmd.CommandText = "UPDATE asteriskproxy_extensions SET number='" +
number_cueTextBox.Text + "'," +
"name='" +
name_cueTextBox.Text + "'," +
"note='" +
note_cueTextBox.Text + "' " +
"WHERE id=" +
id_cueTextBox.Text + ";";
m_sqlCmd.ExecuteNonQuery();
var result = MessageBox.Show("Абонент номер " + number_cueTextBox.Text + " с
идентификатором в базе " +
id_cueTextBox.Text + " успешно изменен.\n Хотите еще внести правки?",
"Редактирование.",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (result != DialogResult.Yes) {
Close();
}
}
catch (MySqlException ex) {
MessageBox.Show("Error: " + ex.Message);
}
finally {
m_dbConn.Close();
// Обновить интерфейс справочника
UpdateInterface_ExtensionsWindow updateInterface = new
UpdateInterface_ExtensionsWindow();
updateInterface.Update();
}
}
}
}
151
using MySql.Data.MySqlClient;
using System;
using System.Data;
using System.Windows.Forms;
using System.Drawing;
namespace AsteriskProxyGUI {
public partial class TrunksWindow : Form {
public TrunksWindow() {
InitializeComponent();
// подписка на события изменения данныз в бд
UpdateInterface_TrunksWindow.UpdateHandler += load_data;
}
/*
* обработчик события загрузки формы
*/
private void TrunksWindow_Load(object sender, System.EventArgs e) {
// инициация события обновления/помещения данных на форму
UpdateInterface_TrunksWindow updateInterface = new
UpdateInterface_TrunksWindow();
updateInterface.Update();
}
/*
* Процедура чтения данных из БД и помещения их на форму
*/
public void load_data(object sender, EventArgs e) {
MySqlConnection m_dbConn;
MySqlCommand m_sqlCmd;
m_dbConn = new MySqlConnection();
m_sqlCmd = new MySqlCommand();
DataTable dTable = new DataTable();
string sqlQuery;
try {
if (m_dbConn.State != ConnectionState.Open) {
m_dbConn = new
MySqlConnection("server=192.168.1.40;user=root;password=1234;database=freepbx;");
m_dbConn.Open();
}
sqlQuery = "SELECT * FROM asteriskproxy_trunks;";
MySqlDataAdapter adapter = new MySqlDataAdapter(sqlQuery, m_dbConn);
adapter.Fill(dTable);
// в случае отсутствия колонок datagridview - создать и задать ширину
if (dataGridView.Columns.Count == 0) {
// ИД
dataGridView.Columns.Add("id", "ИД");
dataGridView.Columns[0].Width = 70;
// Линия
dataGridView.Columns.Add("trunk", "Линия");
dataGridView.Columns[1].Width = 85;
// Примечание
dataGridView.Columns.Add("note", "Примечание");
dataGridView.Columns[2].Width = 450;
// Статус
dataGridView.Columns.Add("status", "Статус");
dataGridView.Columns[3].Width = 90;
}
152
// в случае отстутствия строк - добавить одну
if (dataGridView.Rows.Count == 0)
dataGridView.Rows.Add();
if (dTable.Rows.Count > 0) {
dataGridView.Rows.Clear(); // очистка данных
for (int i = 0; i < dTable.Rows.Count; i++) {
//dataGridView1.Rows.Add(dTable.Rows[i].ItemArray);
dataGridView.Rows.Add();
dataGridView["id", i].Value = dTable.Rows[i]["id"].ToString(); //
Идентификатор
dataGridView["trunk", i].Value = dTable.Rows[i]["trunk"].ToString();
// Номер
dataGridView["note", i].Value = dTable.Rows[i]["note"].ToString();
// Примечание
if (bool.Parse(dTable.Rows[i]["status"].ToString()))
dataGridView["status", i].Value = "Используется";
else
dataGridView["status", i].Value = "Удален";
}
}
else
MessageBox.Show("Таблица пуста! Внесите данные или восстановите из
резервной копии.");
}
catch (MySqlException ex) {
MessageBox.Show("Ошибка: " + ex.Message);
}
finally {
m_dbConn.Close();
}
}
/*
* поиск по всекй таблице DataGridView
*/
private void Search_cueTextBox_TextChanged(object sender, EventArgs e) {
for (int r = 0; r < dataGridView.Rows.Count - 1; r++) {
dataGridView.Rows[r].Visible = false;
for (int c = 0; c < dataGridView.Columns.Count; c++) {
if (dataGridView[c,
r].Value.ToString().ToLower().Contains(Search_cueTextBox.Text.ToLower())) {
dataGridView.Rows[r].Visible = true;
break;
}
}
}
}
/*
* запрос обновления данных по нажатии кнопки
*/
private void update_button_Click(object sender, EventArgs e) {
// инициация события обновления/помещения данных на форму
UpdateInterface_TrunksWindow updateInterface = new
UpdateInterface_TrunksWindow();
updateInterface.Update();
}
/*
* Обработка нажатия кнопки Добавить данные
153
*/
private void add_button_Click(object sender, EventArgs e) {
AddTrunkWindow addTrunkW = new AddTrunkWindow(); // экземпляр окна
addTrunkW.ShowDialog(); // запуск формы диалоговом режиме
}
private void button1_Click(object sender, EventArgs e) {
Close();
}
/*
* Вызов окна редактирования по контекстному меню
*/
private void изменитьToolStripMenuItem_Click(object sender, EventArgs e) {
EditTrunkWindow editTrunksW = new EditTrunkWindow(); // экземпляр окна
editTrunksW.fill_data(dataGridView["id", point.Y].Value.ToString(),
dataGridView["trunk", point.Y].Value.ToString(),
dataGridView["note", point.Y].Value.ToString()); //
Заполнение формы данными
editTrunksW.ShowDialog(); // отображение в диалоговом режиме
}
/*
* Метод позволяет определить позицию Датагрид, на которую кликнул пользователь
* также выделяет строку
* также меняет контекстное меню Удалить / Восстановить
*/
Point point = new Point();
private void dataGridView_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
{
point.X = e.ColumnIndex;
point.Y = e.RowIndex;
// Подсвечивание строки
try {
dataGridView.ClearSelection();
dataGridView.Rows[e.RowIndex].Selected = true;
}
catch {
;
}
// изменение контекстного меню
try {
if (dataGridView["status", point.Y].Value.ToString() == "Используется")
удалитьToolStripMenuItem.Text = "Удалить";
else
удалитьToolStripMenuItem.Text = "Восстановить";
}
catch {
;
}
}
/*
* Клик по контекстрому меню удаления записи
* на самом деле запись не удаляется,
* ей присваивается маркер удаленной,
* по которой AsteriskProxy понимает,
* что эту запись не нужно использовать в работе
*/
private void удалитьToolStripMenuItem_Click(object sender, EventArgs e) {
MySqlConnection m_dbConn;
MySqlCommand m_sqlCmd;
154
m_dbConn = new MySqlConnection();
m_sqlCmd = new MySqlCommand();
if (dataGridView["status", point.Y].Value.ToString() == "Используется")
m_sqlCmd.CommandText = "UPDATE asteriskproxy_trunks SET status=0 " +
"WHERE id='" + dataGridView["id", point.Y].Value.ToString()
+ "';";
else
m_sqlCmd.CommandText = "UPDATE asteriskproxy_trunks SET status=1 " +
"WHERE id='" + dataGridView["id", point.Y].Value.ToString()
+ "';";
DataTable dTable = new DataTable();
if (m_dbConn.State != ConnectionState.Open) {
m_dbConn = new
MySqlConnection("server=192.168.1.40;user=root;password=1234;database=freepbx;");
m_dbConn.Open();
m_sqlCmd.Connection = m_dbConn;
}
try {
m_sqlCmd.ExecuteNonQuery();
/*MessageBox.Show("Статус абонента номер " + dataGridView["number",
point.Y].Value.ToString() + " с идентификатором в базе " +
dataGridView["id", point.Y].Value.ToString() + " успешно изменен.",
"Удалить / Восстановить.");*/
}
catch (MySqlException ex) {
MessageBox.Show("Error: " + ex.Message);
}
finally {
// Обновить интерфейс справочника
UpdateInterface_TrunksWindow updateInterface = new
UpdateInterface_TrunksWindow();
updateInterface.Update();
}
}
/*
* поиск по всекй таблице DataGridView
*/
private void Search_cueTextBox_TextChanged_1(object sender, EventArgs e) {
for (int r = 0; r < dataGridView.Rows.Count - 1; r++) {
dataGridView.Rows[r].Visible = false;
for (int c = 0; c < dataGridView.Columns.Count; c++) {
if (dataGridView[c,
r].Value.ToString().ToLower().Contains(Search_cueTextBox.Text.ToLower())) {
dataGridView.Rows[r].Visible = true;
break;
}
}
}
}
}
}
using System.Windows.Forms;
using System.Data;
using MySql.Data.MySqlClient;
namespace AsteriskProxyGUI {
155
public partial class AddTrunkWindow : Form {
public AddTrunkWindow() {
InitializeComponent();
}
/*
* Процедура контроля ввода номера транка в поле
* позволяет вводить только цифры
*/
private void trunk_cueTextBox_KeyPress(object sender, KeyPressEventArgs e) {
if (!int.TryParse(trunk_cueTextBox.Text + e.KeyChar.ToString(), out int a) &&
(e.KeyChar != 8)) {
e.Handled = true;
}
}
/*
* Процедура добавления транка в базу по нажатии кнопки
*/
private void add_button_Click(object sender, System.EventArgs e) {
MySqlConnection m_dbConn;
MySqlCommand m_sqlCmd;
m_dbConn = new MySqlConnection();
m_sqlCmd = new MySqlCommand();
DataTable dTable = new DataTable();
if (m_dbConn.State != ConnectionState.Open) {
m_dbConn = new
MySqlConnection("server=192.168.1.40;user=root;password=1234;database=freepbx;");
m_dbConn.Open();
m_sqlCmd.Connection = m_dbConn;
}
try {
m_sqlCmd.CommandText = "INSERT INTO asteriskproxy_trunks(trunk, note,
status) VALUES(" +
"'" + trunk_cueTextBox.Text + "', " +
"'" + note_cueTextBox.Text + "', " +
"true);";
m_sqlCmd.ExecuteNonQuery();
var result = MessageBox.Show("Транк (линия) " + trunk_cueTextBox.Text + "
успешно добавлен.\n Продолжить добавление?",
"Успешное добавление в базу.",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (result != DialogResult.Yes) {
Close();
}
}
catch (MySqlException ex) {
MessageBox.Show("Error: " + ex.Message);
}
finally {
m_dbConn.Close();
// Обновить интерфейс справочника
UpdateInterface_TrunksWindow updateInterface = new
UpdateInterface_TrunksWindow();
updateInterface.Update();
}
}
156
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace AsteriskProxyGUI {
public partial class EditTrunkWindow : Form {
public EditTrunkWindow() {
InitializeComponent();
}
/*
* Процедура контроля ввода номера транка в поле
* позволяет вводить только цифры
*/
private void trunk_cueTextBox_KeyPress(object sender, KeyPressEventArgs e) {
if (!int.TryParse(trunk_cueTextBox.Text + e.KeyChar.ToString(), out int a) &&
(e.KeyChar != 8)) {
e.Handled = true;
}
}
/*
* Процедура заполнения данными, полученными из TrunksWindow
*/
public void fill_data(string id, string trunk, String note) {
id_cueTextBox.Text = id;
trunk_cueTextBox.Text = trunk;
note_cueTextBox.Text = note;
}
/*
* Процедура обработки нажатия кнопки Сохранить
*/
private void save_button_Click(object sender, EventArgs e) {
MySqlConnection m_dbConn;
MySqlCommand m_sqlCmd;
m_dbConn = new MySqlConnection();
m_sqlCmd = new MySqlCommand();
DataTable dTable = new DataTable();
if (m_dbConn.State != ConnectionState.Open) {
m_dbConn = new
MySqlConnection("server=192.168.1.40;user=root;password=1234;database=freepbx;");
m_dbConn.Open();
m_sqlCmd.Connection = m_dbConn;
}
try {
m_sqlCmd.CommandText = "UPDATE asteriskproxy_trunks SET trunk='" +
trunk_cueTextBox.Text + "'," +
"note='" +
note_cueTextBox.Text + "' " +

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)