Диплом: Автоматизированная система учета ремонта компьютерного оборудования в магазине музыкальных инструментов "Данцер"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
109
// ----------------------------------------------------------
// ОПЕРАЦИИ МАСТЕРА С ЗАЯВКОЙ -------------------------------
///<summary>
/// Завершить заявку нормально
///</summary>
///<paramname="__comment_">Комментарий мастера к заявке</param>
publicboolCompleteNormal(string __comment_)
{
// Обновление статуса техники
if (Tech.ChangeStatus(работе"))
{
MessageBox.Show("Заявка на ремонт выполнена!", Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Комментарий мастера к заявке
__note = __comment_;
// Датазавершения
__completedate = DateTime.Now.Date;
// Обновление
if (UpdateRow())
{
// Возвратуспеха
returntrue;
}
else
{
// Возврат неудачи - отмена действия пользователем
returnfalse;
}
}
else
{
// Возврат неудачи - отмена действия пользователем
returnfalse;
}
}
///<summary>
/// Завершить заявку и списать технику
///</summary>
///<param name="__comment_">Комментариймастеракзаявке</param>
publicboolCompleteAndRecycle(string __comment_)
{
// Обновление статуса техники
if (Tech.ChangeStatus("списано"))
{
MessageBox.Show("Заявка на ремонт выполнена. Техническое устройство подлежит
списанию!", Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Комментарий мастера к заявке
__note = __comment_;
// Датазавершения
__completedate = DateTime.Now.Date;
// Обновление
if (UpdateRow())
{
// Возвратуспеха
returntrue;
}
else
{
// Возврат неудачи - отмена действия пользователем
110
returnfalse;
}
}
else
{
// Возврат неудачи - отмена действия пользователем
returnfalse;
}
}
// ----------------------------------------------------------
// РЕАЗИЗАЦИЯ ИНТЕРФЕЙСА С БД ---------------------------------
///<summary>
/// Адаптер подключения к БД - таблица тех. средств
///</summary>
doremisrvDataSetTableAdapters.ordersTableAdapter ADAPTER =
newdoremisrvDataSetTableAdapters.ordersTableAdapter();
///<summary>
/// Инициализация данных
///</summary>
///<paramname="__id_">Необязательный идентификатор</param>
///<returns>Результатоперации</returns>
publicboolInitialize(int __id_ = 0)
{
try
{
// Инициализация по идентификатору
if (__id_ != 0)
{
// Получение данных из таблицы
doremisrvDataSet.ordersDataTable TABLE = ADAPTER.GetDataByID(__id_);
// Чтение полученных данных
if (TABLE.Rows.Count> 0)
{
__id = __id_;
__tech =
newEquipment(Convert.ToInt32(TABLE.Rows[0].ItemArray[1]));
__createdate = Convert.ToDateTime(TABLE.Rows[0].ItemArray[2]);
if (Convert.ToString(TABLE.Rows[0].ItemArray[3]) == string.Empty)
__completedate = null;
else
__completedate =
Convert.ToDateTime(TABLE.Rows[0].ItemArray[3]);
__descr = Convert.ToString(TABLE.Rows[0].ItemArray[4]);
__note = Convert.ToString(TABLE.Rows[0].ItemArray[5]);
// Освободитьтаблицу
TABLE.Dispose();
}
else
{
MessageBox.Show("Записьненайдена!", Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возвратнеудачи
returnfalse;
}
}
else// Инициализация по умолчанию
{
__descr = "";
__note = "";
__createdate = DateTime.Now.Date;
111
__completedate = null;
__tech = newEquipment();
}
// Возвратуспеха
returntrue;
}
catch (Exception ex)
{
MessageBox.Show("Ошибкапривыполненииоперации: " + ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возвратнеудачи
returnfalse;
}
}
// --------------------------------------
///<summary>
/// Вставка записи в БД
///</summary>
///<returns>Результатоперации</returns>
publicboolInsertRow()
{
try
{
// Выполнениекомандычерезадаптертаблицы
ADAPTER.InsertQuery(Tech.ID, CreateDate, CompleteDate, Description, Note);
// Возвратуспеха
returntrue;
}
catch (Exception ex)
{
MessageBox.Show("Ошибкапривыполненииоперации: " + ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возвратнеудачи
returnfalse;
}
}
// --------------------------------------
///<summary>
///ОбновлениезаписивБД
///</summary>
///<returns>Результатоперации</returns>
publicboolUpdateRow()
{
try
{
// Выполнениекомандычерезадаптертаблицы
ADAPTER.UpdateQuery(Tech.ID, CreateDate, CompleteDate, Description, Note, ID);
// Возвратуспеха
returntrue;
}
catch (Exception ex)
{
MessageBox.Show("Ошибкапривыполненииоперации: " + ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возвратнеудачи
returnfalse;
}
}
// --------------------------------------
///<summary>
/// Удаление записи из БД
///</summary>
///<returns>Результатоперации</returns>
publicboolDeleteRow()
112
{
try
{
// Выполнениекомандычерезадаптертаблицы
ADAPTER.DeleteQuery(ID);
// Возвратуспеха
returntrue;
}
catch (Exception ex)
{
MessageBox.Show("Ошибкапривыполненииоперации: " + ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возвратнеудачи
returnfalse;
}
}
// ------------------------------------------------------------
// РЕАЛИЗАЦИЯ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ ----------------------
///<summary>
/// Диалог ввода данных
///</summary>
DataDialog.DLG_ORDER Dialog = null;
///<summary>
/// Команда пользователя - создать новый
///</summary>
///<paramname="add_id">Дополнительный идентификатор</param>
///<returns>Результат выполнения команды</returns>
publicboolCreateNew(intadd_id = 0)
{
try
{
// Созданиедиалогавводаданных
Dialog = newDataDialog.DLG_ORDER(Tech.ID, Global.CurrentUser.Access ==
1, Completed);
// Наполнение полей диалога актуальными данными
Dialog.txtNote.Text = Note;
Dialog.txtDescription.Text = Description;
Dialog.lblStartDate.Text = CreateDate.ToShortDateString();
Dialog.lblCompleteDate.Text = "не завершено";
// Организация диалога с пользователем
if (Dialog.ShowDialog() == DialogResult.OK)
{
// Применениевведенныхзначений
__descr = Dialog.txtDescription.Text.Trim();
__note = Dialog.txtNote.Text.Trim();
__tech =
newEquipment(Convert.ToInt32(Dialog.cmbEquipment.SelectedValue));
// Выполнить вставку в БД
InsertRow();
}
else
{
// Возврат неудачи - отмена действия пользователем
returnfalse;
}
// Возвратуспеха
returntrue;
}
catch (Exception ex)
{
113
MessageBox.Show("Ошибкапривыполненииоперации: " + ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возвратнеудачи
returnfalse;
}
}
///<summary>
/// Команда пользователя - редактировать
///</summary>
///<paramname="add_id">Дополнительный идентификатор</param>
///<returns>Результат выполнения команды</returns>
publicboolEditData(intadd_id = 0)
{
try
{
// Созданиедиалогавводаданных
Dialog = newDataDialog.DLG_ORDER(Tech.ID, Global.CurrentUser.Access ==
1, Completed);
// Наполнение полей диалога актуальными данными
Dialog.txtNote.Text = Note;
Dialog.txtDescription.Text = Description;
Dialog.lblStartDate.Text = CreateDate.ToShortDateString();
Dialog.lblCompleteDate.Text = CompleteDate != null
? ((DateTime)CompleteDate).ToShortDateString()
: "незавершено";
// Организация диалога с пользователем
if (Dialog.ShowDialog() == DialogResult.OK)
{
// Применение введенных значений
__descr = Dialog.txtDescription.Text.Trim();
__note = Dialog.txtNote.Text.Trim();
__tech =
newEquipment(Convert.ToInt32(Dialog.cmbEquipment.SelectedValue));
// Выполнить обновление в БД
UpdateRow();
}
else
{
// Возврат неудачи - отмена действия пользователем
returnfalse;
}
// Возвратуспеха
returntrue;
}
catch (Exception ex)
{
MessageBox.Show("Ошибкапривыполненииоперации: " + ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возвратнеудачи
returnfalse;
}
}
///<summary>
/// Команда пользователя - удалить
///</summary>
///<returns>Результатоперации</returns>
publicboolDelete()
{
try
{
// Запрос на удаление
if (MessageBox.Show("Подтверждаете удаление выбранной записи ?", "Удаление",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
114
// Удалить из БД
DeleteRow();
// Возврат успеха
returntrue;
}
// Возврат неудачи - отмена действия пользователем
returnfalse;
}
catch (Exception ex)
{
MessageBox.Show("Ошибкапривыполненииоперации: " + ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возвратнеудачи
returnfalse;
}
}
// ------------------------------------------------------------
///<summary>
///Сгенерировать HTML-документ
///</summary>
publicvoidShowDocument()
{
// HTML-текстотчета
string HTML = "";
// служебные
inttools_cnt = 0;
floattools_summ = 0;
float price = 0;
int count = 0;
// ГЕНЕРАЦИЯ HTML-КОДА
//---------------------------------------------------
HTML += "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0
Transitional//EN\">";
HTML += "<html>";
HTML += " <head>";
HTML += " <title></title>";
HTML += " </head>";
HTML += " <body>";
HTML += " <h2 align =\"center\">Карточказаявкинаремонт № " +
ID.ToString("00000") + " от ";
HTML += " <u>" + CreateDate.ToLongDateString() + "</u></h2>";
HTML += " <div>1. Создал: ";
HTML += " <u>" + Tech.Owner.FurName + " " +
Tech.Owner.FirstName.Substring(0, 1) + ". " + Tech.Owner.SecondName.Substring(0, 1) +
". </u>";
HTML += " </div>";
HTML += " <div>2. Тип: ";
HTML += " <u>" + Tech.EqCategory.Name + ": " + Tech.Name + "; инв.№:
" + Tech.ID.ToString("0000") + "</u>";
HTML += " </div>";
HTML += " <div>3. Описание неисправности: ";
HTML += " <u>" + Description + "</u>";
HTML += " </div>";
HTML += " <div>4. Комментарий мастера: ";
HTML += " <u>" + Note + "</u>";
HTML += " </div>";
HTML += " <div>5. Выполнено: ";
if (CompleteDate != null) HTML += "<u>" + ((DateTime)CompleteDate).ToShortDateString()
+ "</u>";
115
HTML += " </div>";
HTML += " <div>6. Закупленные запчасти и комплектующие: </div>";
HTML += " <table align=\"center\" border=\"1\" cellpadding=\"0\"
cellspacing=\"0\" frame=\"border\"";
HTML += " rules=\"all\" width=\"100%\">";
HTML += " <tr>";
HTML += " <tdalign=\"center\">№п/п</td>";
HTML += " <tdalign=\"center\">Компонент</td>";
HTML += " <tdalign=\"center\">Стоимость</td>";
HTML += " <tdalign=\"center\">Количество</td>";
HTML += " <tdalign=\"center\">Сумма</td>";
HTML += " </tr>";
HTML += " <tr>";
HTML += " <td align=\"center\"><strong>(1)</strong></td>";
HTML += " <td align=\"center\"><strong>(2)</strong></td>";
HTML += " <td align=\"center\"><strong>(3)</strong></td>";
HTML += " <td align=\"center\"><strong>(4)</strong></td>";
HTML += " <td align=\"center\"><strong>(5)</strong></td>";
HTML += " </tr>";
// Подключениекзапросу
doremisrvDataSetTableAdapters.toolsTableAdapter ADAPTER =
newdoremisrvDataSetTableAdapters.toolsTableAdapter();
doremisrvDataSet.toolsDataTableeqdt = ADAPTER.GetDataByOrder(ID);
// Получение данных
if (eqdt.Rows.Count> 0)
{
for (inti = 0; i<eqdt.Rows.Count; i++)
{
price = Convert.ToSingle(eqdt.Rows[i].ItemArray[4]);
count = Convert.ToInt32(eqdt.Rows[i].ItemArray[5]);
HTML += " <tr>";
HTML += " <td align=\"center\">" + (i +
1).ToString() + "</td>";
HTML += " <td align=\"center\">" +
(Convert.ToString(eqdt.Rows[i].ItemArray[2])) + "</br>";
HTML +=
(Convert.ToString(eqdt.Rows[i].ItemArray[3])) + "</td>";
HTML += " <td align=\"center\">" +
price.ToString("C0") + "</td>";
HTML += " <td align=\"center\">" + count.ToString()
+ "</td>";
HTML += " <td align=\"center\">" + (price *
count).ToString("C0") + "</td>";
HTML += " </tr>";
tools_summ += price * count;
tools_cnt++;
}
}
HTML += " </table>";
HTML += " <br /><br />";
HTML += " <div>7. Итоги: <br />";
HTML += "Общееколичествозапчастейикомплектующих: <u><b>" +
tools_cnt.ToString() + "</b></u><br />";
HTML += "насумму: <u><b>" + tools_summ.ToString("#0.00") + "</b></u>руб.
<br />";
HTML += " </div>";
HTML += " <br /><br />";
HTML += " <div align=\"right\"><em>Нач.техн. отд.</em>
/_________________/<br />";
116
HTML += " <br /><em>" + DateTime.Now.Date.ToString("D") +
"</em></div>";
HTML += " </body>";
HTML += "</html>";
// Показать форму документа
(newF_DOCUMENT("Карточказаявки №" + ID.ToString("0000"), HTML)).ShowDialog();
}
}
}
117
Программныйкодинтерфейсов
namespaceDoremi_Service.Interfaces
{
///<summary>
///Интерфейсуправленияданными
///</summary>
interfaceIDataBase
{
///<summary>
///Инициализацияобъекта
///</summary>
///<paramname="__id_">Необязательный идентификатор</param>
///<returns>Результатоперации</returns>
boolInitialize(int __id_ = 0);
///<summary>
/// Вставка записи в БД
///</summary>
///<returns>Результатоперации</returns>
boolInsertRow();
///<summary>
/// Обновление записи в БД
///</summary>
///<returns>Результатоперации</returns>
boolUpdateRow();
///<summary>
/// Удаление записи из БД
///</summary>
///<returns>Результатоперации</returns>
boolDeleteRow();
}
}
namespaceDoremi_Service.Interfaces
{
///<summary>
/// Интерфейс команд пользователя
///</summary>
interfaceIUser
{
///<summary>
/// Команда пользователя - создать новый
///</summary>
///<paramname="add_id">Дополнительный идентификатор</param>
///<returns>Результат выполнения команды</returns>
boolCreateNew(intadd_id = 0);
///<summary>
/// Команда пользователя - редактировать
///</summary>
///<paramname="add_id">Дополнительный идентификатор</param>
///<returns>Результат выполнения команды</returns>
boolEditData(intadd_id = 0);
///<summary>
/// Команда пользователя - удалить
///</summary>
///<returns>Результат выполнения команды</returns>
boolDelete();
}
}
118
Программный код главного окна
using System;
using System.IO;
usingSystem.Windows.Forms;
namespaceDoremi_Service
{
///<summary>
///Главнаяформасистемы
///</summary>
publicpartialclassF_MAIN :Form
{
///<summary>
///Конструкторформы
///</summary>
public F_MAIN()
{
// Создание и инициализация компонентов
InitializeComponent();
// Установка параметров
Global.MainForm = this;
// Активация таймеров
tmrTodayDateTimeInfo.Enabled = true;
// Чтение данных подключения
GetConnectionSettings();
}
// ДОСТУП К ЭЛЕМЕНТАМ ФОРМЫ ----------------------------------------
///<summary>
/// Доступ к главной панели рабочего стола системы
///</summary>
publicPanel Workspace { get { returnpnlWorkspace; } }
///<summary>
/// Доступ к панели авторизации
///</summary>
publicPanel Authorization { get { returnpnlAuthorization; } }
///<summary>
/// Доступ к панели настройеи подключения
///</summary>
publicPanelConnectionPanel{ get { returnpnlConnectionSettings; } }
///<summary>
/// Доступ к метке информации о текущем пользователе
///</summary>
publicLabelCurrentUserInfo{ get { returnlblCurrentUser; } }
///<summary>
/// Доступ к метке времени авторизации
///</summary>
publicLabelLoginTimeStamp{ get { returnlblLoginTimestamp; } }
///<summary>
/// Смена рабочего стола
///</summary>
///<param name="__workspace_">Рабочийстолпользователя</param>
publicvoidChangeWorkspace(UserControl __workspace_)
{
// Предварительнаяочистка
Workspace.Controls.Clear();
// Помещениерабочегостола
Workspace.Controls.Add(__workspace_);

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

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