Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дипломная работа_Резникова.doc
Скачиваний:
6
Добавлен:
13.11.2019
Размер:
804.86 Кб
Скачать

2.6 Страница добавления (изменения) информации из базы данных AddEditNewsletters.Cs.

namespace MB.AppliedMathematics.UI.Admin

{

public partial class AddEditNewsletters : BasePage

{

private int id = 0;

private bool isNewNewsLetter = false;

private bool isEditingNewsletter = false;

String connectionString = WebConfigurationManager.ConnectionStrings["LocalSqlServerConnection"].ConnectionString;

SQLNewsletterProvider sqlNewsletterProvider = new SQLNewsletterProvider();

protected void Page_Load(object sender, EventArgs e)

{

// если страница была загружена в первый раз, то

if (!this.IsPostBack)

{

id = 0;

if ((!string.IsNullOrEmpty(this.Request.QueryString["ID"])))

{

id = int.Parse(this.Request.QueryString["ID"]);

}

//определяем, будем добавлять, или изменять новость

isNewNewsLetter = (id == 0 || id == null);

isEditingNewsletter = (id != 0);

txtBody.BasePath = this.BaseUrl + "FCKeditor/";

// если новость изменяем, то

if (isEditingNewsletter)

{

// загружаем новость по ее идентификатору

NewsletterDetails newslet = sqlNewsletterProvider.GetNewsletterByID(id);

lblEditNews.Visible = true;

lblNewNews.Visible = false;

btnSubmit.Text = "Обновить";

txtTitle.Text = newslet.Subject;

txtBody.Value = newslet.HtmlBody;

}

// если новость будет добавляться, то

else if (isNewNewsLetter)

{

lblNewNews.Visible = true;

lblEditNews.Visible = false;

btnSubmit.Text = "Добавить";

} } }

// процедура кнопки на изменении (добавлении) новости

protected void btnSubmit_Click1(object sender, EventArgs e)

{if (btnSubmit.Text == "Обновить")

{

id = int.Parse(this.Request.QueryString["ID"]);

string body = txtBody.Value;

sqlNewsletterProvider.UpdateNewsletter(txtTitle.Text, body, id);

panInput.Visible = false;

lblConfirmationEdit.Text = " Ваша новость успешно изменена!";

HyperLink2.Visible = true;

}

else

{DateTime AddedDate = DateTime.Now;

string AddedBy = this.User.Identity.Name;

sqlNewsletterProvider.InsertNewsletter(AddedDate, AddedBy, txtTitle.Text, txtBody.Value);

panInput.Visible = false;

lblConfirmationEdit.Text = " Ваша новость успешно добавлена!";

HyperLink2.Visible = true;

} }

protected void ButtonCanсel_Click(object sender, EventArgs e)

{

Response.Redirect("~/Newsletters.aspx");

} }}

Заключение

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

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

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

В web-приложении используется каркас Membership API, который предоставляет полный набор готовых функций для управления пользователями. С помощью его и специально разработанных элементов управления происходит регистрация новых пользователей. При этом у администраторов есть возможность извлечь подробную информацию о каждом их них, редактировать их профиль, добавить им роль.

В случае утраты пользователем пароля, последний будет выслан ему на e-mail.

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

Разработанное web- приложение является удобным в использовании, как обычным пользователям, так и администраторам.

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

Также на страницах используются элементы Ajax (ScriptManager, UpdatePanel), которые позволяют выполнить частичное обновление страницы, избавляя её от «моргания».

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

Кроме этого предусмотрены страницы с поиском со всеми:

  • публикациями сотрудников, студентов, магистрантов и аспирантов;

  • курсовыми, дипломными работами студентов;

  • научными работами магистрантов и аспирантов;

  • преподавательской деятельности сотрудников.

По выбранной дисциплине можно скачать предоставленные по ней документы. Кроме этого эти же документы и общие документы кафедры можно найти на одноименной странице.

Разработана консоль администрирования с защитой от несанкционированного доступа для удобного изменения данных, добавления или удаления. Также администратор может отредактировать необходимые данные с любой станицы web-приложения, перейдя по ссылкам видимым только ему.

Были разработаны и пользовательские элементы управления необходимые для работы web-приложения, его визуализации.

Также были созданы несколько тем дизайна сайта, с возможностью добавления новых.