| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Создание интерактивных приложений для intranet-сетейВ настоящей главе рассматриваются приложения, предназначенные для использования в intranet-сетях компаний. Следует учитывать, что для применения на вашем Web-узле Internet может потребоваться модификация этих программ. Обзор приложений начинается с описания программы Кабина для голосования, позволяющей проводить голосование по различным вопросам и просматривать текущие результаты. Затем рассматривается несложная страница День рождения, благодаря которой сотрудники компании не пропустят дни рождения своих коллег. В завершение мы познакомимся с программой Рассылка почты, обеспечивающей быструю рассылку электронных сообщений группе клиентов. Проект Кабина для голосованияПриложение Кабина для голосования предназначено для проведения в компании голосования по различным вопросам. Голосование может быть проведено в рамках выбранной группы. Достоинство этого приложения заключается в том, что оно не позволяет сотруднику проголосовать по одному и тому же вопросу несколько раз. На голосование может быть поставлено любое количество вопросов. Пользователям предлагается набор возможных ответов на каждый вопрос. Описание проектаСразу после загрузки приложения Кабина для голосования пользователь попадает на страницу Регистрация, где он должен указать свое имя и ввести пароль. Регистрация необходима для того, чтобы сотрудник получил предназначенные для него вопросы и при этом не смог проголосовать несколько раз по одному и тому же вопросу. Проверку имени и пароля выполняет элемент управления RequijfedFie idVali-dator. При вводе некорректных данных на экран выводится сообщение об ошибке. ![]() Страница регистрация Проверку имени и пароля выполняет элемент управления RequiredFieldva1 i -dator. При вводе некорректных данных ла экран выводится сообщение об ошибке. ![]() Сообщение об ошибке на странице Регистрация Если данные указаны правильно, сотрудник получает доступ к странице с вопросами. ![]() Исходный вид страницы Кабина для голосования Здесь отображается список вопросов, предназначенных для членов тех групп, к которым принадлежит данный сотрудник. Например, руководитель отдела получит вопросы, адресованные всем сотрудникам корпорации, руководителям всех отделов, а также сотрудникам возглавляемого им отдела. Пока сотрудник не проголосовал по выбранному вопросу, страница Кабина для голосования выглядит так, как показано на рис. Вид страницы Кабина для голосования при голосовании В элементе управления DropDownList отображается выбранный вопрос. В нижней части страницы представлены варианты ответа. Сотрудник выбирает ответ и голосует нажатием кнопки ОК. После этого на экране появляются результаты голосования. ![]() Результаты голосования Как показано на рисунке, в верхней части страницы продолжает отображаться выбранный вопрос, а в нижней части выведены результаты голосования. Такая структура сохраняется и при выборе вопроса, по которому голосование проводилось ранее. Таким образом, пользователь в любой момент может вернуться на эту страницу и ознакомиться с результатами голосования. База данных проектаБаза данных, необходимая для работы приложения Кабина для голосования, состоит из шести взаимосвязанных таблиц. На рис. схематически представлены связи между этими таблицами. ![]() Связи между таблицами базы данных приложения Кабина для голосования На верхнем уровне иерархии находятся таблицы VoteEmployees и VoteGroups. Таблица VoteEmployees содержит информацию о сотруднике, используемую для санкционирования его доступа к данной программе. В таблице VoteGroups хранятся названия групп. Принадлежность к группам учитывается при определении того, какие вопросы выводить на экран, когда сотрудник загрузит страницу Кабина для голосования. Каждый сотрудник может принадлежать к нескольким группам, а каждая группа может включать множество сотрудников. Следовательно, таблицы VoteEmployees и VoteGroups связаны отношением «многие-ко-многим». Таблица, посредством которой реализуется эта связь, называется VoteEmployeelnGroup. Она связана с двумя указанными таблицами отношением «один-ко-многим». Набор вопросов для голосования представлен в таблице VoteQuestions. Данная таблица находится в отношении «один-ко-многим» с таблицей VoteGroups, поскольку по каждому вопросу голосует одна группа сотрудников. Таким же образом она связана с таблицей VoteEmployees, так как каждый вопрос выдается для определенного сотрудника. Таблица VoteAnswers содержит варианты ответов на вопросы, по которым проводится голосование, и связана отношением «один-ко-многим» с таблицей Vote-Questions, поскольку за каждым вопросом закреплена группа ответов, но каждый ответ соответствует только одному вопросу. В таблице Votes фиксируется количество голосов, отданных сотрудниками. Эта таблица связана отношением «один-ко-многим» с таблицей VoteEmployees, так как каждый сотрудник может голосовать по нескольким вопросам, а также с таблицей VoteAnswers.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||