- •Введение
- •Анализ предметной области
- •Диаграммы прецедентов
- •Диаграммы взаимодействия
- •Диаграммы поведения
- •Проектирование бд с использованием case-средств
- •Создание сайта с использованием ms Visual Studio Разметка и наполнение сайта
- •Реализация личного кабинета пользователя
- •Фильтрация данных
- •Администрирование базы данных
- •Заключение
- •Список использованной литературы
- •Приложение а
- •Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
- •Приложение е
- •Приложение ж
- •Приложение з
- •Приложение и
Приложение и
Листинг – Файл ManageTours.aspx.cs
using System;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication3
{
public partial class ManageTours : Page
{
protected void AddTourButton_Click(object sender, EventArgs e)
{
Response.Redirect("AddTour.aspx");
SqlDataSource1.DataBind();
GridView1.DataBind();
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
int tourID = Convert.ToInt32(e.CommandArgument);
System.Diagnostics.Debug.WriteLine("Удаление тура с ID: " + tourID);
bool isDeleted = DeleteTour(tourID);
if (isDeleted)
{
GridView1.DataBind();
}
else
{
System.Diagnostics.Debug.WriteLine("Ошибка при удалении тура.");
}
}
}
private bool DeleteTour(int tourID)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["travelConnectionString4"].ConnectionString;
System.Diagnostics.Debug.WriteLine("Строка подключения: " + connectionString);
try
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
System.Diagnostics.Debug.WriteLine("Соединение установлено");
using (SqlTransaction transaction = connection.BeginTransaction())
{
try
{
string deleteImageTourQuery = "DELETE FROM ImageTour WHERE TourID = @TourID";
ExecuteDeleteQuery(deleteImageTourQuery, tourID, connection, transaction);
string deleteTripQuery = "DELETE FROM Trip WHERE Tour_ID = @TourID";
ExecuteDeleteQuery(deleteTripQuery, tourID, connection, transaction);
string deleteTourSeasonQuery = "DELETE FROM TourSeason WHERE Tour_ID = @TourID";
ExecuteDeleteQuery(deleteTourSeasonQuery, tourID, connection, transaction);
string deleteTourHotelQuery = "DELETE FROM TourHotel WHERE Tour_ID = @TourID";
ExecuteDeleteQuery(deleteTourHotelQuery, tourID, connection, transaction);
string deleteRouteQuery = "DELETE FROM Route WHERE Tour_ID = @TourID";
ExecuteDeleteQuery(deleteRouteQuery, tourID, connection, transaction);
string deleteTourQuery = "DELETE FROM Tour WHERE Tour_ID = @TourID";
ExecuteDeleteQuery(deleteTourQuery, tourID, connection, transaction);
transaction.Commit();
System.Diagnostics.Debug.WriteLine("Тур с ID " + tourID + " удален.");
return true;
}
catch (Exception ex)
{
transaction.Rollback();
System.Diagnostics.Debug.WriteLine("Ошибка при удалении тура: " + ex.Message);
return false;
}
}
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("Ошибка подключения или транзакции: " + ex.Message);
return false;
}
}
private void ExecuteDeleteQuery(string query, int tourID, SqlConnection connection, SqlTransaction transaction)
{
System.Diagnostics.Debug.WriteLine("Выполняется запрос: " + query);
System.Diagnostics.Debug.WriteLine("Параметр TourID: " + tourID);
using (SqlCommand command = new SqlCommand(query, connection, transaction))
{
command.Parameters.AddWithValue("@TourID", tourID);
command.ExecuteNonQuery();
}
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
int tourId = Convert.ToInt32(GridView1.DataKeys[e.NewEditIndex].Value);
Session["TourId"] = tourId;
Response.Redirect("EditTour.aspx");
}
}
}
