Информационная модель предметной области

Информационная модель данных представлена на Рис.2.21 , 2.22:

Информационная модель предметной области - student2.ru

Рис. 2.21. Информационная модель базы данных

Информационная модель предметной области - student2.ru Информационная модель предметной области - student2.ru Информационная модель предметной области - student2.ru Информационная модель предметной области - student2.ru Информационная модель предметной области - student2.ru

Информационная модель предметной области - student2.ru Информационная модель предметной области - student2.ru Информационная модель предметной области - student2.ru

Информационная модель предметной области - student2.ru

Информационная модель предметной области - student2.ru

Рис. 2.22 Информационная модель таблиц

Описание основных функций

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

1. Сохранение необходимой информации о клиенте в БД при оформлении заявки на подключение услуг компании NetTrans и его последующей технической поддержки .

2. Получение из БД информации о абоненте, фирме, их адресов, телефонных номеров, контрагентах, и др. для вывода на экран.

3. Расчет статистики обработанных операторами заявок;

I. Функция сохранения данных в БД

Одной из основных задач является сохранение информации о клиенте или абоненте и контроля исполнения принятых от них заявок в базе данных.

Используемая технология в качестве сервера баз данных Microsoft SQL Server позволяет вносить изменения в базу, используя различные запросы.

Таким образом, задачу сохранения информации в БД можно разбить на следующие этапы:

− соединение с БД;

− формирование запроса на вставку/обновление;

− сохранение в БД;

Функция соединение с БД работает следующим образом:

SqlCommand cmd = sqlconnect.CreateCommand();

SqlConnection sqlconnect = new SqlConnection(@"Data Source=(GAZEBO-ПК);Integrated Security=True;" + "Initial Catalog=123");

, где происходит соединение с сервером и авторизация клиента (браузера) на нем, а так же соединение с нужной базой.

Для формирования запроса на вставку/обновление в БД составляется запрос:

На вставку:

cmd.CommandText = "insert into Add_ticket_TP (Договор, [Входящий номер], Комментарии) values ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')";

Параметры запроса:

· имя таблицы, к которой обращаемся;

· набор полей в таблице, в которые будем производить запись;

· набор переменных для вставки в поля;

На обновление:

cmd.CommandText = "update Add_ticket_TP (Контакты='Контактный телефон',Комментарии='Комментарии' where №=’#’)";

Параметры запроса:

· имя таблицы, к которой обращаемся;

· набор полей в таблице = переменные, в которые будем производить запись;

· набор переменных для вставки в поля;

· условие выбора строки;

Функция обновления таблиц в форме выполняется командой:

GridView1.DataBind();

II. Функция получения из БД информации

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

Используемая технология в качестве сервера баз данных MS SQL Server позволяет доставать информацию из базы, используя различные запросы.

Таким образом, задачу получение информации из БД можно разбить на следующие этапы:

− соединение с БД;

− формирование запроса на получение;

− вывод результата выполненного запроса.

Функция соединение с БД работает следующим образом:

SqlConnection sqlconnect = new SqlConnection(@"Data Source=(GAZEBO-ПК);Integrated Security=True;" + "Initial Catalog=123");

, где происходит соединение с сервером и авторизация клиента (браузера) на нем, а так же соединение с нужной базой.

Для формирования запроса на получение из БД составляется запрос:

cmd.CommandText=”select*from users where (id=’id’)”;

GridView1.DataBind();

Параметры запроса:

· набор полей в таблице, которые будем получать. * - все поля;

· имя таблицы, к которой обращаемся;

· условие выбора строки;

· обновление таблицы.

Функция вывода результата выполненного запроса реализуется путем формирования текста на основе полученных переменных, которые возвращает выполненный запрос.

<table>

<tr>

<td class="auto-style1">Физ./Юр. лицо</td>

<td>

<asp:RadioButton ID="RadioButton2" runat="server" Text="Юр.лицо" TextAlign="Left" OnCheckedChanged="RadioButton2_CheckedChanged" Width="100" /></td>

</tr>

<tr>

<td class="auto-style1">Договор<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Укажите номер договора" Display="Dynamic">*</asp:RequiredFieldValidator>

</td>

<td>

<asp:TextBox ID="TextBox1" runat="server" Width="794px"></asp:TextBox>

</td>

</tr>

<tr>

<td class="auto-style1">Контактные данные<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2" ErrorMessage="Укажите номер телефона" Display="Dynamic">*</asp:RequiredFieldValidator>

</td>

<td>

<asp:TextBox ID="TextBox2" runat="server" Width="797px"></asp:TextBox>

</td>

</tr>

<tr>

<td class="auto-style1">Обращение пользователя<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="TextBox3" ErrorMessage="Следует заполнить это поле" Display="Dynamic">*</asp:RequiredFieldValidator>

</td>

<td>

<asp:TextBox ID="TextBox3" runat="server" Height="228px" Width="796px"></asp:TextBox>

</td>

</tr>

<tr>

<td class="auto-style1">Вызов специалиста</td>

<td>

<asp:RadioButton ID="RadioButton3" runat="server" Text="Нет" Checked="True" TextAlign="Left" Width="100" OnCheckedChanged="RadioButton3_CheckedChanged"/>

<asp:RadioButton ID="RadioButton4" runat="server" Text="Специалист" TextAlign="Left" Width="150"/>

<asp:RadioButton ID="RadioButton5" runat="server" Text="Инженеры" TextAlign="Left" Width="150"/>

<asp:RadioButton ID="RadioButton6" runat="server" Text="Можнтажники" TextAlign="Left" Width="150"/>

<asp:RadioButton ID="RadioButton7" runat="server" Text="Абонентский отдел" TextAlign="Left" Width="150"/>

</td>

</tr>

<tr>

<td class="auto-style1" colspan="2" >

<asp:Button ID="Button1" runat="server" Text="Сохранить" OnClick="Button1_Click" />

</td>

</tr>

<tr>

<td class="auto-style1">

&nbsp;</td>

</tr> </table>

<mailSettings>

<smtp from="[email protected]">

<network host="smtp.mail.ru" userName="[email protected]" password=""/>

</smtp>

</mailSettings>

System.Threading.Tasks.Task.Run(new Action(() =>

{

System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage();

foreach (Worker worker in Workers)

{

if (worker == null) continue;

if (string.IsNullOrEmpty(worker.email)) continue;

mm.To.Add(worker.email);

}

if (mm.To.Count == 0) return;

//тексты почтовых уведомлений следует вынести в настраиваемые шаблоны.

mm.Subject = "новая заявка на сайте NetTrans";

mm.Body = string.Format("поступила заявка за номером: {0}", InnerNumber);

new System.Net.Mail.SmtpClient().Send(mm);

}));

new EventLogCollection().Create(0, HttpContext.Current.Request.UserHostAddress);

Сообщения программисту

В программе не предусмотрен вывод сообщений специально для программиста, однако в ходе работы программы могут появиться общие сообщения программы, а также, сообщения генерируемые системой Windows или другим приложением.

Управление и доступом пользователей и объединение их в определенные группы происходит с помощью встроенной утилиты в среде Visual Studio – Administer Website.

Наши рекомендации