Скачиваний:
1
Добавлен:
12.04.2025
Размер:
8.45 Mб
Скачать

Заключение

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

Информационная система позволяет пользователям взаимодействовать с платформой в зависимости от их роли: регистрироваться, авторизоваться, искать туры с использованием различных фильтров, а также оформлять заявки на бронирование. Администраторы могут управлять каталогом туров, добавлять новые, редактировать существующие записи и обрабатывать поступившие заявки с возможностью изменения их статусов.

Таким образом, созданная информационная система представляет собой эффективный инструмент для автоматизации деятельности туристического агентства, улучшения качества обслуживания клиентов и оптимизации бизнес-процессов.

Список использованной литературы

  1. Н.В. Барклаевская Г.В. О.М. Шарапова Объектно-ориентированный подход к проектированию информационных систем: методические указания к выполнению лабораторных работ - СПБ.: 2020 – 35с. (электронный вариант)

  2. Преснякова Г.В., Барклаевская Н.В., Шарапова О.М. Работа с базами данных в среде Microsoft SQL Server 2012: учеб. пособие / Спб.: ГУАП, 2016. – 163 с.

  3. Барклаевская Н.В., Шарапова О.М. Создание сайта с использованием MS Visul Studio и технологии ASPX.NET. - СПБ.: 2020 – 35с. (электронный вариант).

  4. О.М. Шарапова, Н.В. Барклаевская Г.В. Создание интерфейса пользователя при помощи Visual Studio c применением Windows Forms -СПБ.: 2019 – 35с. (электронный вариант).

Приложение а

Листинг – Файл Site1.Master.cs

using System;

using System.Data.SqlClient;

using System.Web.UI;

namespace WebApplication3

{

public partial class Site1 : System.Web.UI.MasterPage

{

protected void Page_Load(object sender, EventArgs e)

{

if (Session["UserId"] != null)

{

// Пользователь авторизован

txtUsername.Visible = false;

txtPassword.Visible = false;

lblLogin.Visible = false;

lblPassword.Visible = false;

btnLogin.Visible = false;

btnRegister.Visible = false;

btnLogout.Visible = true;

lblMessage.Text = $"Здравствуйте, {Session["UserName"]}";

lblMessage.ForeColor = System.Drawing.Color.White;

// Отображение кнопок в зависимости от роли пользователя

string userType = Session["UserType"].ToString();

if (userType == "Employee")

{

btnEditProfile.Visible = true;

btnOrderHistory.Visible = true;

}

else if (userType == "Admin")

{

btnManageTours.Visible = true;

btnManageOrders.Visible = true;

}

}

else

{

// Пользователь не авторизован

txtUsername.Visible = true;

txtPassword.Visible = true;

lblLogin.Visible = true;

lblPassword.Visible = true;

btnLogin.Visible = true;

btnRegister.Visible = true;

btnLogout.Visible = false;

btnEditProfile.Visible = false;

btnOrderHistory.Visible = false;

btnManageTours.Visible = false;

lblMessage.Text = "";

}

}

protected void btnLogin_Click(object sender, EventArgs e)

{

string login = txtUsername.Text.Trim();

string password = txtPassword.Text.Trim();

if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))

{

lblMessage.Text = "Введите логин и пароль.";

lblMessage.ForeColor = System.Drawing.Color.Red;

return;

}

string connectionString = "Data Source=localhost;Initial Catalog=travel;Integrated Security=True";

string query = @"

SELECT 'Client' AS UserType, Client_ID AS UserId, Name_C AS FirstName

FROM Client WHERE LoginC = @Login AND PasswordC = @Password

UNION ALL

SELECT

CASE

WHEN Position_E = 'Администратор' THEN 'Admin'

ELSE 'Employee'

END AS UserType,

Employee_ID AS UserId, Name_E AS FirstName

FROM Employee WHERE LoginE = @Login AND PasswordE = @Password";

try

{

using (SqlConnection connection = new SqlConnection(connectionString))

{

connection.Open();

using (SqlCommand command = new SqlCommand(query, connection))

{

command.Parameters.AddWithValue("@Login", login);

command.Parameters.AddWithValue("@Password", password);

SqlDataReader reader = command.ExecuteReader();

if (reader.HasRows)

{

reader.Read();

// Сохранение данных в сессии

Session["UserType"] = reader["UserType"].ToString();

Session["UserId"] = reader["UserId"].ToString();

Session["UserName"] = reader["FirstName"].ToString();

lblMessage.ForeColor = System.Drawing.Color.Green;

lblMessage.Text = "Вход выполнен успешно!";

Response.Redirect("Home.aspx");

}

else

{

lblMessage.Text = "Неверный логин или пароль.";

lblMessage.ForeColor = System.Drawing.Color.Red;

}

}

}

}

catch (Exception ex)

{

lblMessage.Text = "Ошибка: " + ex.Message;

lblMessage.ForeColor = System.Drawing.Color.Red;

}

}

protected void btnLogout_Click(object sender, EventArgs e)

{

Session.Clear();

txtUsername.Visible = true;

txtPassword.Visible = true;

lblLogin.Visible = true;

lblPassword.Visible = true;

btnLogin.Visible = true;

btnRegister.Visible = true;

btnLogout.Visible = false;

lblMessage.Text = "Вы успешно вышли.";

lblMessage.ForeColor = System.Drawing.Color.Green;

Response.Redirect("Home.aspx");

}

protected void btnRegister_Click(object sender, EventArgs e)

{

Response.Redirect("Registration.aspx");

}

protected void btnEditProfile_Click(object sender, EventArgs e)

{

Response.Redirect("EditProfile.aspx");

}

protected void btnOrderHistory_Click(object sender, EventArgs e)

{

Response.Redirect("OrderHistory.aspx");

}

protected void LinkButton1_Click(object sender, EventArgs e)

{

Response.Redirect("Home.aspx");

}

protected void LinkButton2_Click(object sender, EventArgs e)

{

Response.Redirect("About.aspx");

}

protected void LinkButton3_Click(object sender, EventArgs e)

{

Response.Redirect("Find.aspx");

}

protected void btnManageTours_Click(object sender, EventArgs e)

{

Response.Redirect("ManageTours.aspx");

}

protected void btnManageOrders_Click(object sender, EventArgs e)

{

Response.Redirect("ManageOrders.aspx");

}

}

}

Соседние файлы в предмете Проектирование информационных систем