Поняття системи активної реклами. Адміністративна частина
Розробка сайту "Система активної реклами" для розкрутки сайту в мережі Інтернет, заробітку грошей. Аналіз подібних систем. Інструментальні засоби розробки. Доступ до системи адміністрування. Керівництво програмісту: структура бази даних, основні класи.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 24.09.2012 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
(містить інформацію про адміністраторів системи)
Назва поля |
Опис |
|
id |
id-номер адміністратора |
|
AdminName |
логин адміністратора системи |
|
Password |
пароль для авторизації |
|
|
email адміністратора системи |
Таблиця "FAQ"
(містить питання, які задаються користувачами та відповіді на них)
Назва поля |
Опис |
|
id |
id-номер питань |
|
Question |
текст питання |
|
Answer |
текст відповіді на питання |
|
Show |
відображення на сайті, якщо true |
Таблиця "Contacts"
(містить звернення користувачів до адміністратора)
Назва поля |
Опис |
|
id |
id-номер звернення |
|
Login |
логін або ім'я користувача, що відправив звернення |
|
|
Email ім'я користувача,що відправив звернення |
|
Theme |
Тема звернення |
|
TextLetter |
Текст звернення користувача |
Таблиця "News"
(містить інформацію про новини системи)
Назва поля |
Опис |
|
id |
id-номер новин |
|
Date |
дата викладення новини на сайт |
|
NewsText |
текст новини. |
Таблиця "Users"
(містить інформацію про користувачів системи)
Назва поля |
Опис |
|
UserID |
id-номер користувача |
|
UserName |
логин користувача системи |
|
Password |
пароль для авторизації |
|
|
email користувача системи |
|
ICQ |
номер ICQ користувча |
|
Country |
країна в якій проживає користувач |
|
Language |
мовні налаштування системи для користувача |
|
PaySystem |
платіжна система користувача |
|
Account |
номер рахунку в платіжній системі |
|
Money |
кількість коштів на рахунку аккаунта користувача |
|
Cr |
кількість кредитів на рахунку аккаунта користувача |
|
NumberLetters |
кількість прочитаних листів користувачем |
|
NumberLookedSites |
кількість проглянутих сайтів в серфінгу користувчем |
|
BalanceFilledUp |
сума коштів на які поповнено рахунок аккаунта |
|
RefMoney |
кошти зароблені рефералами |
|
Payments |
кількість виплат |
|
Paid |
виплачено грошей з аккаунту |
|
BalanceFilledUpCR |
сума коштів на які поповнено рахунок кредитів аккаунта |
|
RefCr |
кредити зароблені рефералами |
|
PaymentsCr |
кількість виплат кредитів |
|
PaidCr |
кількість коштів зароблених на виплатах кредитів |
|
TaskComplite |
Кількість виконаних завдань |
|
AllKlick |
кількість усіх кліків користувача з моменту реєстрування |
|
UserDate |
дата реєстрування користувача в системі |
|
WMID |
номер гаманця вебмані |
|
VacationDate |
дата до якого взята відпустка |
|
Referer |
реферер користувача |
Таблиця "TypePutMoney"
(містить інформацію про типи зарахування коштів)
Назва поля |
Опис |
|
ID |
id-номер типу зарахування на аккаунт коштів. |
|
TypeName |
Назва типу зарахування коштів |
Таблиця "PutMoney"
(містить інформацію зарахування коштів на аккаунти користувачів)
Назва поля |
Опис |
|
ID |
id-номер зарахування коштів на аккаунт користувача |
|
UserID |
id-номер користувача на аккаунт якого зараховуються кошти |
|
TypePutMoneyID |
id-номер типу зарахування на аккаунт коштів |
|
SumPutMoney |
сума коштів зарахованих на аккаунт користувача. |
|
Date |
дата зарахування коштів на аккаунт користувача. |
|
Description |
замітки |
Таблиця "TypeRemovalMoney"
(містить інформацію про типи утримання коштів)
Назва поля |
Опис |
|
ID |
id-номер типу утримання з аккаунту коштів. |
|
TypeName |
Назва типу утримання коштів |
Таблиця "RemovalMoney"
(містить інформацію утримання коштів з аккаунти користувачів)
Назва поля |
Опис |
|
ID |
id-номер утримання коштів з аккаунту користувача |
|
UserID |
id-номер користувача з аккаунту якого утримуються кошти |
|
TypeRemovalMoneyID |
id-номер типу утримання з аккаунту коштів |
|
SumRemovalMoney |
сума коштів утримуваних з аккаунту користувача. |
|
Date |
дата утримання коштів з аккаунту користувача. |
|
Description |
замітки |
Таблиця "Payments"
(містить інформацію про замовлені виплати)
Назва поля |
Опис |
|
PaidID |
id-номер замовленої виплати |
|
UserID |
id-номер користувача, що замовив виплати |
|
Date |
дата замовлення виплати |
|
Sum |
Сума грошей замовлених на виплату користувачем |
|
ispaid |
true - виплачено, false - невиплачено |
Таблиця "TypeMail"
(містить інформацію про типи розсилки)
Назва поля |
Опис |
|
ID |
id-номер типу розсилки |
|
TypeMail |
Назва типу розсилки |
|
Cost |
Вартість розсилки за одиницю |
|
Termin |
Термін дії розсилки |
|
TimeMS |
Затримка до появи контрольного питання в мс. |
|
Visible |
Чи діє цей тип розсилки на сьогодні |
Таблиця "UsersMail"
(містить інформацію про замовлені розсилки)
Назва поля |
Опис |
|
ID |
id-номер розсилки |
|
TypeMailID |
id-номер типу розсилки |
|
Describe |
Короткий опис |
|
Reference |
Посилання |
|
Shows |
Кількість показів |
|
Topic |
Тема повідомлення |
|
Text |
Текст повідомлення |
|
UserID |
id-номер користувача замовника |
|
DateCreate |
Дата замовлення розсилки |
Таблиця "SentLetters"
(містить інформацію про надіслані листи)
Назва поля |
Опис |
|
ID |
id-номер листа |
|
UserID |
id-номер користувача якому надіслані листи |
|
UserMailID |
id-номер користувача замовника |
|
DateRead |
Дата коли лист був переглянутий |
|
IsRead |
Чи лист прочитаний |
Таблиця "SerfClick"
(містить інформацію про типи серфінгу)
Назва поля |
Опис |
|
Id |
id-номер типу серфінгу |
|
TypeClick |
Назва типу серфінгу |
|
TimeMS |
Затримка до появи контрольного питання в мс. |
|
Cost |
Вартість в USD |
|
CostCr |
Вартість в Cr |
|
Visible |
Відображати чи діє цей тип серфінгу на сьогодні |
Таблиця "UserSerfClick"
(містить інформацію про замовлення на розкрутку посилання)
Назва поля |
Опис |
|
ID |
id-номер посилання на розкрутку |
|
SerfClickID |
id-номер типу розсилки |
|
Describe |
Короткий опис |
|
Reference |
Посилання |
|
NumberShows |
Кількість показів |
|
UserID |
id-номер користувача замовника |
Таблиця "LookedSitesByUsers"
(містить інформацію про перегляд посилань)
Назва поля |
Опис |
|
ID |
id-номер перегляду |
|
UserID |
id-номер користувача який переглянув посилання |
|
UserSerfClickID |
id-номер користувача замовника |
|
Date |
Дата коли посилання було переглянуте. |
Таблиця "ErrorUserSerfClick"
(містить інформацію про помилки зроблені користувачами при перегляді посилань)
Назва поля |
Опис |
|
ID |
id-номер помилки при перегляді посилання |
|
TypeErrorsID |
id-номер типу помилки яку зробив користувач |
|
UserSerfClickID |
id-номер посилання на якому було зроблено помилку замовника |
|
Time |
час помилки |
|
UserID |
id-номер користувача який зробив помилку |
Таблиця "TypeErrors"
(містить інформацію про типи можливих помилок)
Назва поля |
Опис |
|
ID |
Id - номер помилки |
|
NameType |
Назва типу помилки |
Таблиця "ErrorUserMail"
(містить інформацію про помилки зроблені користувачами при перегляді листів)
Назва поля |
Опис |
|
ID |
id-номер помилки при перегляді листа |
|
TypeErrorsID |
id-номер типу помилки яку зробив користувач |
|
UserMailID |
id-номер листа на якому було зроблено помилку |
|
Time |
час помилки |
|
UserID |
id-номер користувача який зробив помилку |
Таблиця "ExchangeRateCr"
(містить інформацію ставки на біржі кредитів)
Назва поля |
Опис |
|
ID |
Id-номер ставки на біржі кредитів |
|
TypeRateID |
Id-номер типу ставки на біржі кредитів |
|
CostForHundred |
Вартість 100 кредитів |
|
CountCr |
Кількість кредитів |
|
Cost |
Вартість |
|
UserRateID |
Користувач який поставив ставку на біржу кредитів |
|
UserBuyerID |
Покупець кредитів |
Таблиця "ExchangeTypeRateCr"
(містить інформацію типи ставок на біржі кредитів)
Назва поля |
Опис |
|
ID |
Id-номер типу ставки на біржі кредитів |
|
TypeRate |
Назва типу ставки на біржі кредитів |
|
MinCostForHundred |
Мінімальна ціна за 100 кредитів |
Таблиця "ExchangeReferals"
(містить інформацію про ставки на біржі рефералів)
Назва поля |
Опис |
|
ID |
Id-номер ставки на біржі рефералів |
|
UserRateID |
Користувач який продає реферала |
|
UserBuyerID |
Користувач - покупець реферала |
|
Cost |
Ціна реферала |
|
ReferalID |
Реферал що продається |
Таблиця "TypeTask"
(містить інформацію про типи сплачених завдань)
Назва поля |
Опис |
|
ID |
Id-номер типу сплачених завдань |
|
TypeTask |
Назва типу сплачених завдань |
|
MinCost |
Мінімальна вартість сплаченого завдання даного типу |
Таблиця "UserTask"
(містить інформацію про створені користувачами сплачені завдання)
Назва поля |
Опис |
|
ID |
Id-номер створеного користувачем сплаченого завдання |
|
NameTask |
Назва завдання |
|
UserID |
Id-номер користувача який створив завдання |
|
Reference |
Посилання для виконання завдання |
|
Description |
Опис завдання |
|
TypeTaskID |
Id-номер типу сплаченого завдання |
|
Implementations |
Кількість замовлених виконань завдання |
|
RepeatEveryHours |
Через скільки годин користувач може повторно виконувати це завдання |
|
ImplementationsInDay |
Скільки разів користувач може виконувати завдання в один день |
|
Cost |
Вартість виконання завдання |
|
MechanismID |
Механізм перевірки |
|
Status |
Вкл. /Викл |
|
ViewingAdmin |
Ідентифікатор перегляду завдання адміністратором |
|
IsWorks |
Ідентифікатор допуску завдання |
|
ReasonOfBlocking |
Причина блокування |
|
NotedOnDelete |
Ідентифікатор помітки на видалення |
Таблиця "ExecutedTasks"
(містить інформацію про виконані користувачами сплачені завдання)
Назва поля |
Опис |
|
ID |
Id-номер виконання завдання |
|
UserID |
Id-номер користувача який виконав завдання |
|
TaskID |
Id-номер завдання яке виконав користувач |
|
IP |
З якого ip було виконано завдання |
|
Time |
Час виконання завдання |
|
InformationForVerification |
Інформація для підтвердження виконання завдання |
|
Approved |
Ідентифікатор підтвердження |
|
IsLookedTaskCreater |
Ідентифікатор перегляду створювачем завдання |
|
ReasonRefuse |
Причина відмови |
Таблиця "Letter"
(містить інформацію про внутрішню пошту)
Назва поля |
Опис |
|
ID |
Id-номер повідомлення |
|
UserCreaterID |
Id-номер користувача який створив повідомлення |
|
ForUserID |
Id-номер користувача якому надіслано повідомлення |
|
Title |
Тема повідомлення |
|
Text |
Текст повідомлення |
|
IsLookedUser |
Ідентифікатор перегляду повідомлення користувачем |
|
IsLookedAdmin |
Ідентифікатор перегляду повідомлення адміністратором |
|
Time |
Час відправки повідомлення |
Таблиця "TypeBanner"
(містить інформацію про типи банерів)
Назва поля |
Опис |
|
ID |
Id-номер типу банера |
|
TypeBanners |
Назва типу баннера |
|
Cost |
Вартість замовлення на одну добу |
|
Width |
Довжина баннера |
|
Hight |
Ширина баннера |
Таблиця "UsersBanners"
(містить інформацію про замовлення користувачами місць для банерів)
Назва поля |
Опис |
|
ID |
Id-номер замовлення місця для банера |
|
TypeBanner |
Id-номер типу баннера |
|
UserID |
Id-номер користувача-замовника банера |
|
Term |
Термін показу банера |
|
ReferenceForImage |
Посилання на зображення |
|
Reference |
Посилання |
|
AmountVisits |
Кількість відвідувань |
В базі даних було створено понад 150 збережених процедур. Наведемо декілька з них.
Основні збережені процедури
Назва процедури |
Опис |
|
AddBlockingUserForm |
блокування користувача |
|
AddCompetition |
оголошення нового конкурсу |
|
AddCrForm |
добавити новий тип заробітку за кредити |
|
AddFAQ |
додавання питань та відповідей на них у базу даних з можливістю відображення їх на сайті |
|
addExchangeRateCr |
додати ставку на біржу кредитів |
|
addExchangeReferals |
додавання ставки на біржу рефералів |
|
addLettersfromAdmin |
відправка листа користувачу від адміністратора |
|
AddMoneyForm |
добавити новий тип заробітку за гроші |
|
AddNews |
запис новин у базу даних |
|
AddPutMoneyAdmin |
зарахування коштів на аккаунт користувача |
|
AddRemovalMoneyAdmin |
утримання коштів з аккаунту користувача |
|
AddTypeTaskAdmin |
добавити новий тип завдання |
|
createAdmin |
добавити адміністратора сайту |
|
delExchangeReferals |
зняти з продажу реферала |
|
delExchangeRateCr |
видалити ставку з біржі кредитів |
|
DeleteAdmin |
видалити адміністратора сайту |
|
DeleteCrForm |
видалення типу заробітку за кредити |
|
DeleteFAQ |
видалення питань та відповідей на них з бази даних |
|
DeleteMoneyForm |
видалення типів заробітку за гроші |
|
DeleteNews |
видалення новин |
|
DeleteUserAdmin |
видалення користувача системи |
|
DeleteUserTaskAdmin |
видалити завдання користувача |
|
NewPasswordAdmin |
зміна паролю адміністратора |
|
Paid_form |
виплата коштів користувачу по замовленню |
|
UpdateCompetition |
змінює умови конкурсу |
|
UpdateCrForm |
змінює умови серфінгу за кредити |
|
UpdateFAQ |
змінює текст питаннь та відповідей на них у базі даних, можливість відображення їх на сайті |
|
UpdateMoneyForm |
змінює умови серфінгу за гроші |
|
UpdateNews |
змінює текст новини |
|
UpdateTypeTaskAdmin |
змінює умови типу завдання |
|
UpdateNews |
змінює текст новини |
6.2 Опис основних класів
Рис. Діаграма важливих класів
Опис деяких важливих класів
public |
class |
AdminClass |
Клас, що реалізовує роботу з адміністраторами системи. |
|
public int GetDataAdmin (int NumRow) |
Функція здійснює заповнення полів об'єкта класу про адміністратора системи в залежності від параметру |
|||
public void GetAdmin (string name) |
Функція здійснює пошук даних адміністратора по логіну |
|||
public |
class |
TypeMailClass |
Клас, що реалізує роботу з типами поштових розсилок. |
|
public |
class |
UserMailClass |
Клас, що реалізую роботу з поштовими розсилками, які створює користувач. |
|
int MailGetDataForAdmin (int NumRow) |
Функція здійснює заповнення полів об'єкта класа про поштову розсилку користувача в залежності від параметра. |
|||
public int MailGetDataForAdminByTypeID (int NumRow, int IDTypeMail) |
Функція здійснює заповнення полів об'єкта класа про поштову розсилку користувача в залежності від типу листа і параметра. |
|||
public int MailGetDataForAdminByID (int NumRow, int IDMail) |
Функція здійснює пошук данних класа про поштову розсилку користувача по ID листа. |
|||
public |
class |
SentUserLettersClass |
Клас, що реалізовує роботу з розісланою поштою. |
|
public int SentUserLettersGetDataForAdmin (int NumRow) |
Фінкція здійснює заповнення полів об'єкта класа про надіслані листи користувачам в залежності від параметра. |
|||
public int SentUserLettersGetDataForAdminByID (int NumRow, int IDMail) |
Функція здійснює заповнення полів об'єкта класа про надіслані листи користувачам в залежності від типу листа і параметра. |
|||
public |
class |
UserClass |
Клас, що реалізує роботу з даними користувача |
|
public void UsersData (int NumRow) |
Функція здійснює заповнення полів об'єкта класа про користувача системи в залежності від параметру |
|||
public void UserNameSearch (string UserName) |
Функція здійснює пошук даних користувача по логіну |
|||
public void EmailSearch (string Email) |
Здійснює пошук даних користувача по email |
|||
public |
class |
TypeTaskClass |
Клас, що реалізовує роботу |
|
public |
class |
UserTaskClass |
Клас, що реалізовує роботу зі сплачуваними завданнями які були створені користувачами |
|
public int UserTaskGetDataForAdmin (int NumRow) |
Функція здійснює заповнення полів об'єкта класа про завдання користувачів в залежності від параметра. |
|||
public int UserTaskGetDataForAdminById (int NumRow, int idTypeTask) |
Функція здійснює заповнення полів об'єкта класа про завдання користувачів в залежності від типу завдання і параметра. |
|||
public int UserTaskGetDataForAdminByIdUser (int NumRow, int idUser) |
Функція здійснює пошук завданнь користувачів по їх id. |
|||
public int CountNewUserTaskGetDataForAdminByViewingAdmin () |
Функція повертає кількість завдань користувачів які адміністратор ще не продивився. |
|||
public int FirstNewUserTaskGetDataForAdminByViewingAdmin () |
Функція здійснює повертає порядковий номер першого завдання, що адміністратор ще не продивився. |
|||
public |
class |
ExecutedTasksClass |
Клас, що реалізовує роботу з виконаними сплачуваними завданнями які були створені користувачами |
|
public int ExecutedTasksGetDataForAdmin (int NumRow) |
Функція здійснює заповнення полів об'єкта класа про виконані завдання користувачами в залежності від параметра. |
|||
int ExecutedTasksGetDataForAdminByID (int NumRow, int IDTask) |
Функція здійснює пошук виконаних завданнь користувачів по id завдань. |
|||
int ExecutedTasksNotLookedCreaterCountGetDataForAdminByID (int IDTask) |
Функція повертає кількість неперевірених виконаних завдань. |
|||
public |
class |
ExchangeTypeRateClass |
Клас, що реалізовує роботу з типами ставок на біржі кредитів |
|
public |
class |
ExchangeRateCr Class |
Клас, що реалізовує роботу зі ставками користувачів на біржі кредитів |
|
public int ExchangeCrGetDataForAdmin (int NumRow, int typeRateId) |
Функція здійснює заповнення полів об'єкта класа про біржу кредитів в залежності від типу ставок і параметра. |
|||
public |
class |
ExchangeRate ReferalsClass |
Клас, що реалізовує роботу зі ставками користувачів на біржі рефералів |
|
public int ExchangeReferalsGetDataForAdmin (int NumRow) |
Функція здійснює заповнення полів об'єкта класа про біржу рефералів в залежності від параметра. |
|||
public |
class |
LetterClass |
Клас, що реалізовує роботу з внутрішнью поштою користувачів |
|
public int LetterGetDataForAdmin (int NumRow) |
Функція здійснює заповнення полів об'єкта класа про листування користувачів системи. |
|||
public int LetterAdminMailGetDataForAdmin (int NumRow) |
Функція здійснює заповнення полів об'єкта класа про листи надіслані адміністратору системи. |
|||
public int LetterGetDataForAdminById (int NumRow, int idLetter) |
Функція здійснює пошук даних листа по його id. |
|||
public |
class |
RuningLine |
Клас, що реалізовує роботу з рухомою стрічкою |
|
public int RuningLineGetDataForAdmin (int NumRow) |
Функція здійснює заповнення полів об'єкта класа про "рухому стрічку" в залежності від параметра. |
|||
public |
class |
UsersBanners: TypeBanners |
Клас, що реалізує роботу з банерами замовленими користувачами |
|
public int UsersBannersGetDataForAdmin (int NumRow) |
Здуйснює заповнення полів об'єкта класа про замовлення користувачем баннер в залежності від параметру |
|||
public int UsersBannersGetDataForAdminByIDBanner (int NumRow, int typeBannerId) |
Здуйснює заповнення полів об'єкта класа про замовлення користувачем баннер в залежності від типу баннера і параметра. |
Розглянемо приклад класу та його методів:
Клас TaskComplaintClass: UserTaskClass
public TaskComplaintClass (int idTaskComplaint) - конструктор
Вхідні дані:
· idTaskComplaint - id, скарги користувача на завдання.
Спочатку робимо запит до бази даних і отримуємо всі потрібні дані. Після цього заповнюємо всі його властивості.
Код даного методу:
public TaskComplaintClass (int idTaskComplaint)
{
using (var context = new TaskDataContext ())
{
var taskComplaints = from taskComplaint in context. GetTable<TaskComplaint> ()
where taskComplaint. ID == idTaskComplaint
select new
{
ID = taskComplaint. ID,
UserID = taskComplaint. UserID,
TaskID = taskComplaint. TaskID,
ViewingAdmin = taskComplaint. ViewingAdmin,
TextOfComplaint = taskComplaint. TextOfComplaint
};
foreach (var complaint in taskComplaints)
{
ID = complaint. ID;
UserID = complaint. UserID;
TaskID = complaint. TaskID;
ViewingAdmin = complaint. ViewingAdmin;
TextOfComplaint = complaint. TextOfComplaint;
}
}
}
public int ComplaintTaskGetDataForAdmin (int NumRow) - функція, яка повертає кількість всіх скарг по завданнях і здійснює заповнення полів об'єкта класа про скарги в залежності від заданого параметру.
Вхідні дані:
· NumRow - номер скарги по якій потрібно отримати інформацію
На вхід метод отримує Num_Row порядковий номер скарги для отримання даних про неї. Спочатку заповнюється список даних усіх скарг, а потім здійснюється заповнення полів об'єкта класу даними скарги з потрібним порядковим номером.
Код даного методу:
public int ComplaintTaskGetDataForAdmin (int NumRow)
{
List<TaskComplaintClass> objTaskComplaint = new List<TaskComplaintClass> ();
using (var context = new TaskDataContext ())
{
var taskComplaintResult = from taskComplaint in context. GetTable<TaskComplaint> ()
select new
{
ID = taskComplaint. ID,
UserID = taskComplaint. UserID,
TaskID = taskComplaint. TaskID,
ViewingAdmin = taskComplaint. ViewingAdmin,
TextOfComplaint = taskComplaint. TextOfComplaint
};
foreach (var complaint in taskComplaintResult)
{
objTaskComplaint. Add (new TaskComplaintClass (complaint. ID));
}
if (objTaskComplaint. Count! = 0)
{
ID = objTaskComplaint [NumRow]. ID;
UserID = objTaskComplaint [NumRow]. UserID;
TaskID = objTaskComplaint [NumRow]. TaskID;
ViewingAdmin = objTaskComplaint [NumRow]. ViewingAdmin;
TextOfComplaint = objTaskComplaint [NumRow]. TextOfComplaint;
var userResult = from user in context. GetTable<User> ()
where UserID == user. UserID
select new
{
UserName = user. UserName
};
UserName = userResult. First (). UserName. ToString ();
}
}
return objTaskComplaint. Count;
}
public int ComplaintTaskGetDataForAdminByID (int NumRow, int IDTask) - функція, яка повертає кількість скарг по id завдання і здійснює заповнення полів об'єкта класу про скарги в залежності від заданого параметру.
Вхідні дані:
· NumRow - номер скарги по якій потрібно отримати інформацію
· IDTask - id, завдання користувача
На вхід метод отримує IDTask - id завдання і Num_Row порядковий номер скарги для отримання даних про неї. Спочатку заповнюється список даних усіх скарг з відповідним IDTask, а потім здійснюється заповнення полів об'єкта класу даними скарги з потрібним порядковим номером.
Код даного методу:
public int ComplaintTaskGetDataForAdminByID (int NumRow, int IDTask)
{
List<TaskComplaintClass> objTaskComplaint = new List<TaskComplaintClass> ();
using (var context = new TaskDataContext ())
{
var taskComplaintResult = from taskComplaint in context. GetTable<TaskComplaint> ()
select new
{
ID = taskComplaint. ID,
UserID = taskComplaint. UserID,
TaskID = taskComplaint. TaskID,
ViewingAdmin = taskComplaint. ViewingAdmin,
TextOfComplaint = taskComplaint. TextOfComplaint
};
foreach (var complaint in taskComplaintResult)
{
if (complaint. TaskID == IDTask)
{
objTaskComplaint. Add (new TaskComplaintClass (complaint. ID));
}
}
if (objTaskComplaint. Count! = 0)
{
ID = objTaskComplaint [NumRow]. ID;
UserID = objTaskComplaint [NumRow]. UserID;
TaskID = objTaskComplaint [NumRow]. TaskID;
ViewingAdmin = objTaskComplaint [NumRow]. ViewingAdmin;
TextOfComplaint = objTaskComplaint [NumRow]. TextOfComplaint;
var userResult = from user in context. GetTable<User> ()
where UserID == user. UserID
select new
{
UserName = user. UserName
};
UserName = userResult. First (). UserName. ToString ();
}
}
return objTaskComplaint. Count;
}
public int CountNewComplaintTaskGetDataForAdminByViewingAdmin () - функція, яка повертає кількість скарг, що адміністратор системи ще не продивився.
public int CountNewComplaintTaskGetDataForAdminByViewingAdmin ()
{
List<TaskComplaintClass> objTaskComplaint = new List<TaskComplaintClass> ();
using (var context = new TaskDataContext ())
{
var taskComplaintResult = from taskComplaint in context. GetTable<TaskComplaint> ()
select new
{
ID = taskComplaint. ID,
UserID = taskComplaint. UserID,
TaskID = taskComplaint. TaskID,
ViewingAdmin =taskComplaint. ViewingAdmin,
TextOfComplaint = taskComplaint. TextOfComplaint
};
foreach (var complaint in taskComplaintResult)
{
if (complaint. ViewingAdmin == false)
{
objTaskComplaint. Add (new TaskComplaintClass (complaint. ID));
}
}
}
return objTaskComplaint. Count;
}
6.3 Опис основних JavaScript
В процесі розробки дипломного проекту було розроблено такі JavaScript:
· JavaScript для зміни кольору назви системи;
· JavaScript меню;
· JavaScript для заголовка сторінки;
JavaScript для зміни кольору назви системи:
<script type="text/javascript">
function color ()
{
setInterval ("setColor (); ",100);
}
function setColor ()
{
element = document. getElementById ("TopicDiv");
var fontcolor = new Array ('#111111','#222222','#333333','#444444','#555555','#666666','#777777','#888888','#999999','#aaaaaa','#bbbbbb','#cccccc','#dddddd','#eeeeee','#ffffff','#110000','#220000','#330000','#440000','#550000','#660000','#770000','#880000','#990000','#aa0000','#bb0000','#cc0000','#dd0000','#ee0000','#ff0000','#001100','#002200','#003300','#004400','#005500','#006600','#007700','#008800','#009900','#00aa00','#00bb00','#00cc00','#00dd00','#00ee00','#00ff00','#000011','#000022','#000033','#000044','#000055','#000066','#000077','#000088','#000099','#0000aa','#0000bb','#0000cc','#0000dd','#0000ee','#0000ff','#111100','#222200','#333300','#444400','#555500','#666600','#777700','#888800','#999900','#aaaa00','#bbbb00','#cccc00','#dddd00','#eeee00','#ffff00','#110011','#220022','#330033','#440044','#550055','#660066','#770077','#880088','#990099','#aa00aa','#bb00bb','#cc00cc','#dd00dd','#ee00ee','#ff00ff','#001111','#002222','#003333','#004444','#005555','#006666','#007777','#008888','#009999','#00aaaa','#00bbbb','#00cccc','#00dddd','#00eeee','#00ffff','#221100','#442200','#663300','#884400','#aa5500','#cc6600','#ee7700','#ff8800','#220011','#440022','#660033','#880044','#aa0055','#cc0066','#ee0077','#ff0088','#002211','#004422','#006633','#008844','#00aa55','#00cc66','#00ee77','#00ff88','#112200','#224400','#336600','#448800','#55aa00','#66cc00','#77ee00','#88ff00','#110022','#220044','#330066','#440088','#5500aa','#6600cc','#7700ee','#8800ff','#001122','#002244','#003366','#004488','#0055aa','#0066cc','#0077ee','#0088ff');
if (n>fontcolor. length)
n=0;
element. style. color = fontcolor [n];
n++;
}
</script>
JavaScript меню:
<script type="text/javascript">
function cssmenuhover ()
{
// створюємо масив з елементів li
var lis = document. getElementById ("cssmenu"). getElementsByTagName ("LI");
for (var i=0; i<lis. length; i++)
{
lis [i]. onmouseover=function ()
{
// присвоєння елементу масива значення className "iehover" // при наведенні на нього курсором миші
this. className+="iehover";
}
lis [i]. onmouseout=function ()
{
// заміна елементу масива значення className "iehover" на "” // коли курсор миші покидає об'єкт
this. className=this. className. replace (new RegExp ("iehover\\b"), "");
}
}
}
// підвішуєм на подію onload" наш javascript
if (window. attachEvent)
window. attachEvent ("onload", cssmenuhover);
</script>
JavaScript зворотній таймер:
<script type="text/javascript">
var tit = document. title;
var i = 0;
function writetitle () {
document. title = tit. substring (0, i);
if (i==tit. length) {
i = 0;
setTimeout ("writetitle ()", 5000)
}
else {
i++;
setTimeout ("writetitle ()", 100)
}
}
writetitle ()
</script>
6.4 Опис бібліотек, які було використано для розробки дипломного проекту
В даному дипломному проекті була використана бібліотека ASP.net AJAX Control Toolkit.net AJAX Control Toolkit - це безкоштовний набір готових елементів управління AJAX для використання в ASP.net WebForms.
Серед контролів AJAX Control Toolkit найчастіше використовувались:
· FilteredTextBox - для валідування вводу тексту в textBox
· Calendar - для більш наглядного і приємного вводу дат.
Приклад використання FilteredTextBox:
<asp: TextBox ID="txtSumPutMoney" runat="server" CssClass="TextBox"></asp: TextBox>
<ajax: FilteredTextBoxExtender ID="FilteredTextBoxExtender10"
TargetControlID="txtSumPutMoney" FilterMode="ValidChars" ValidChars="1234567890,"
runat="server"></ajax: FilteredTextBoxExtender>
Розберемо деякі властивості контрола FilteredTextBoxExtender:
· TargetControlID - тут вказуємо textBox який фільтруеться
· FilterMode - має два значення ValidChars (допустимі значення) та InValidChars (недопустимі значення)
Висновки
При розробці даної роботи були виконані всі вимоги технічного завдання.
В рамках проекту було розроблено інтернет-ресурс "Система активної реклами".
Програма дає змогу власнику системи заробити гроші, а користувачам системи як заробити гроші, так і розкрутити свій інтернет-ресурс, піднявши рейтинг у пошуковиках, що приводить до збільшення відвідувачів цих інтернет-ресурсів.
Було реалізовано систему адміністрування інтернет-ресурсом, яка дозволяє додавати та редагувати типи заробітку. Також було розроблено систему контролю роботи користувачів та рекламодавців в системі. У системі адміністрування передбачено існування декількох адміністраторів з можливістю їх видалення та зміною паролів.
Організація відокремленого збереження програмного коду і шаблонних html-сторінок (Master Page) дозволяє вносити зміни у дизайн сайту не змінюючи при цьому програмного коду.
Для реалізації проекту було використано середовище.net Framework 3.5, технології ASP.net, ADO.net, LINQ, AJAX, JavaScript та мову програмування Microsoft Visual C# 2008 та бази даних MS SQL Server 2005.
Список літератури
1. Нейгел, Кристиан, Ивьен, Билл, Глин, Джей и др. "С# 2005 для профессионалов".: Пер. с англ. - М.: Издательский дом "Вильямс", 2007. - 1376 с.: ил. - Парал. тит. англ.
2. Мак-Дональд, Мєтью, Шпушта, Марио Microsoft ASP.net с примерами на C# 2005 для профессионалов.: Пер. с англ. - М.: ООО "И.Д. "Вильямс", 2006. - 1408 стр.: ил. - Парал. тит. англ.
3. Шилдт Г. "Полный справочник по С#.: Пер. с англ." - М.: издательский дом "Вильямс", 2004. - 752 стр.
4. Троелсен, Эндрю. "Язык программирования C#2005 и платформа.net, 3-е издание.: Пер. с англ. - М.: ООО "И.Д. "Вильямс", 2007. - 1168 стр.: ил. - Парал. тит. англ.
5. Эспозито Д. Microft ASP.net 2.0. Базовый курс. Мастер-класс / Пер. с англ. - М.: Издательство "Русская Редакция"; Спб. Питер, 2007. - 688 стр.
6. Эспозито Д. Microft ASP.net 2.0 Углубленное изучение / Пер. с англ. - М.: Издательство "Русская Редакция"; Спб. Питер, 2007. - 592 стр.
7. Мэтью Мак-Дональд, Марио Шпушта "Microft ASP.net 3.5 с примерами на C# 2008 для профессионалов", 2-е изд.: Пер. с англ. - М.: ООО "И.Д. "Вильямс", 2008. - 1424 стр.: ил. - Парал. тит. англ.
8. Байдачний С.С., Маленко Д.А., "ASP.net 2.0: секреты создания Web - приложений". - М.: СОЛОН-ПРЕСС, 2007. - 736с.: ил. - (Серия "Библиотека профессионала").
9. Джонсон Гленн, Нортроп Тони. "Разработка клиентских веб-приложений на платформе Microsoft.net Framework". Учебный курс Microsoft/Пер. с англ. - М.: "Русская Редакция", СПб.: "Питтер", 2007. - 768 стр.
10. Джамеа Крис. "Эффективный самоучитель по креативному Web - дизайну".html, Xhtml, CSS, JavaScript, PHP, ASP, ActiveX. Текст, графика, звук и анимация. Пер. с англ. /Крис Джамса, Конрад Кинг, Энди Андерсон - М.: ООО "ДиаСофтЮП", 2005. - 672с.
11. Влад Мержевич. "Справочник по CSS".
12. Гудман, Дэнни, Моррисон, Майкл. "JavaScript. Библия пользователя", 5-е издание.: Пер. с англ. - М.: ООО "И.Д. Вильямс", 2006. - 1184 с.: ил. - Парал. тит. англ.
13. Ахо А., Хопкрофт Э., Ульман Дж. "Структуры данных и алгоритмы", М.: Издательский дом "Вильямс", 2000. - 384 стр.
14. Гурман Д. "JavaScript. Библия пользователя", М.: "Діалектика", 2002, - 958 с.
15. Матросов А.В., Сергеев А.О., Цаунин М.П. "HTML 4.0", - СПб.: БХВ - Петербург, 2003, - 672 с.
16. Петюшкин А.В. "HTML. Экспресс-курс", - СПб.: БХВ - Петербург, 2003, - 256 с.
17. Гончаров А. "Самоучитель HTML", - СПб.: Питер, 2002, - 240 с.
18. Вильямсон Х. "Универсальный Dynamic HTML. Библиотека программиста", - СПб.: Питер, 2001, - 2004 с.
19. http://raphaeljs.com/reference.html.
20. http://jqueryui.com/docs/Getting_Started.
21. http://leandrovieira.com/projects/jquery/lightbox/.
Размещено на Allbest.ru
Подобные документы
Вибір архітектури та інструментальних засобів розробки. Розробка модуля для перегляду сторінок сайту, доступного, зручного інтерфейсу системи адміністрування. Створення бази даних. Опис механізмів передачі даних між сторінками. Реалізація форуму на сайті.
дипломная работа [7,1 M], добавлен 24.09.2012Розробка веб-сайту "Електронний довідник запчастин автомобілів". Структура веб-сайту, бази даних. Модулі для читання інформації та коректного її відображення на сторінках порталу. Клієнтська частина сайту, реєстрація користувачів, система адміністрування.
дипломная работа [2,3 M], добавлен 19.08.2012Поняття сайту як системи електронних документів (файлів даних, коду) приватної особи або організації в комп'ютерній мережі. Визначення засобів для створення сторінки в Інтернеті, вимоги до зовнішнього вигляду та функцій. Особливості розробки макету сайту.
курсовая работа [2,1 M], добавлен 17.12.2015Обґрунтування потреби, поняття, класифікація, проектування та етапи розробки веб-сайту. Вибір програмних засобів, розробка інтерфейса і бази даних. Динамічна мова розмітки гіпертекстових документів DHTML. Розміщення категорій товарів в on-line магазині.
дипломная работа [1,5 M], добавлен 04.08.2009Реалізація портальної системи, на основі якої працює веб-сайт ПП "Агромат". Розробка системи адміністрування веб-сайтом для редагування контенту веб-сайту за допомогою веб-браузера з використанням мови програмування РНР та сервера баз даних MySQL.
дипломная работа [1,9 M], добавлен 24.09.2012Основні підходи до проектування баз даних. Опис сайту Інтернет-магазину, характеристика його підсистем для обробки анкет і запитів користувачів. Розробка концептуальної, інфологічної, даталогічної, фізичної моделей даних. Побудова ER-моделі в CASE-засоби.
курсовая работа [2,3 M], добавлен 01.02.2013Проект і реалізація структури модулів портальної системи і бази даних: стрічка новин, електронні голосування, користувачі порталу, сторінки сайту; методи та формати зберігання даних. Система адміністрування веб-порталу, управління обліковими записами.
дипломная работа [3,6 M], добавлен 24.09.2012Аналіз банківських автоматизованих систем та інтернет-банкінгу в Україні та світ. Проектування бази даних web-орієнтованої банківської системи та розробка програмного продукту. Моніторинг курсів валют банків держави. Розміщення системи у мережі Інтернет.
дипломная работа [2,7 M], добавлен 12.06.2013Структура, характеристики та принципи розробки сучасного сайту-візитки. Розробка дизайну. Характеристика сайту кав’ярні. Основні вимоги до програми та до інтерфейсу. Опис проектних рішень, інструментів та підходів до розробки з обґрунтуванням їх вибору.
дипломная работа [3,2 M], добавлен 19.03.2017Особливості та переваги проведення тестувань в мережі інтернет з метою дистанційного навчання чи оцінювання знань. Створення web-сайту з розширеними можливостями та системи дистанційного тестування. Реляційна схема бази даних конструктора тестів.
дипломная работа [2,1 M], добавлен 25.11.2012