You are on page 1of 48

Військовий інститут телекомунікацій та інформатизації

імені Героїв Крут

Кафедра
"Комп’ютерних інформаційних технологій"

Курсовий проект
з дисципліни: "Об’єктно-орієнтоване програмування"
на тему: "Розробка програмного модулю «Інтернет магазин»"

Виконав:
Курсант 300 навчальної групи
солдат В.ПУПКІН
Керівник:
Викладач кафедри № 22
капітан І.СТОЦЬКИЙ

Київ 2022
2

АНОТАЦІЯ
курсового проекту на тему:
« Розробка програмного модулю «Інтернет магазин» »

Курсовий проект : містить 47 сторінок, 14 рисунків, 6 джерел

Курсовий проект присвячений дослідженню мови програмування C#


шляхом написання програмного модулю «Інтернет магазин», а саме онлайн
магазин продуктів. Користувач може з легкістю обирати продукти, їх
кількість та переглядати в яку ціну йому це вийде. Додаток має зрозумілий
для користувача графічний інтерфейс завдяки чому зручний у використанні.

3

ANNOTATION
course project on the topic:

"Development of the game software module" Online Store ""

Course project: contains 47 pages, 14 figures, 6 sources

The course project is dedicated to the study of the C # programming


language by writing a software module "Online Store", namely an online product
store. The user can easily choose the products, their quantity and see at what price
it will work. The application has a user-friendly graphical interface making it easy
to use.
4

ЗМІСТ

АНОТАЦІЯ 2
ВСТУП 5

РОЗДІЛ І. АНАЛІЗ ДОДАТКУ«ІНТЕРНЕТ МАГАЗИН» 6


1.1 Аналіз додатку «Інтернет магазин» 6
1.1.1 Функціонал програми «Інтернет магазин» 6
1.1.2 Історія створення перших інтернет магазинів……………………….7
1.2 Аналіз існуючих додатків 7
Висновки до розділу 10

РОЗДІЛ II ПРОЕКТУВАННЯ ТА ОСОБЛИВОСТІ РОЗРОБКИ


ПРОГРАМНОГО МОДУЛЮ «ІНТЕРНЕТ МАГАЗИН» 11
2.1 Вимоги до програми 11
2.1.1 Інтерфейс програмування додатків WinForms 12
2.2 Блок-схеми основних методів програмного додатку 13
2.3 Діаграма класів та структура проекту 15
2.4 Текст програмної реалізації 16
Висновок до роздiлу 18

РОЗДІЛ III ОСОБЛИВОСТІ ТА ПОКРОКОВА ІНСТРУКЦІЯ


ВИКОРИСТАННЯ ДОДАТКУ «ІНТЕРНЕТ МАГАЗИН» 19
3.1 Особливості використання та покрокова інструкція використання
додатку 19
Висновок до роздiлу 20
ВИСНОВКИ 23
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 24
ДОДАТОК 25
5

ВСТУП

Актуальність теми. Електрóнний магази́н (е-магазин, e-shop) — сайт, з


якого можна вибрати та замовити потрібний товар чи послугу. Інтернет-
магазин перш за все передбачає грошові розрахунки на відміну від сайтів, які
надають послуги безкоштовно.
Тому, виникає необхідність створення додатку «Інтернет магазин», що
дає змогу користувачам оформити замовлення онлайн, не виходячи з дому.
Мета проекту: розробити ігровий програмний модуль «Інтернет
магазин» у вигляді програмного додатку мовою програмування C# та
апратною реалізацією інтерфейсу в застосунку типу WinForms з
застосуванням об’єктно-орієнтованого підходу. Також даний курсовий
проект передбачає закріплення теоретичних знань з дисципліни «Об’єктно-
орієнтоване програмування», надбання практичних умінь з розробки програм
з урахуванням об’єктно-орієнтованого підходу шляхом написання
програмного коду та складання діаграм класів.
Виходячи з мети роботи, виникають наступні завдання:
- проаналізувати математичну гру «Інтернет магазин»;
- спроектувати зручний графічний інтерфейс користувача;
- написати програмний код відповідно до поставленого завдання;
- розробити покрокову інструкцію користувача для базових операцій.
Об’єкт досліджень: інформаційні технології.
Предмет досліджень: багатофункціональний додаток.
6

РОЗДІЛ І

АНАЛІЗ ДОДАТКУ «ІНТЕРНЕТ МАГАЗИН»

1.1 Аналіз додатку «Інтернет магазин»

1.1.1 Функціонал програми «Інтернет магазин»

На основі різних додатків на тему «Інтернет магазин», ми зібрали


декілька правил, які будуть використані при створенні додатку. По-перше,
інтерфейс програми не має бути складним, потребувати додаткових
інструкцій користування. Користувач має легко знаходити всі потрібні йому
функції та оперувати ними. Задля зручності, усі функції будуть розміщені на
головному екрані:

 Вибір продуктів;
 Кошик із вибраними продуктами;
 Інформація про додаток.

Важливі елементи інтернет-магазину — оновлення


наявного асортименту (продукти/товари та їх кількість), можливість додавати
товари до «кошику», вхід для зареєстрованих користувачів. У деяких
випадках можна використовувати систему оплати через інтернет (електронні
гроші), у простішому випадку оплата відбувається звичайними грішми
через банк на рахунок, роздрукований з сайту. Оплата через інтернет
передбачає необхідність створення кількох облікових записів (принаймні
двох), але у деяких випадках системи оплати можуть бути пов'язаними з
магазином.

Для того, щоб інтернет-магазин видавав інформацію залежно від


запитів, надавав можливості пошуку тощо — на сервер встановлюється
підтримка скриптів (наприклад PHP, Perl). У більш комплексному варіанті,
програма інтернет-магазину — це система управління вмістом сайту, яка вже
7

має підтримку скриптів, надає можливість в он-лайновому режимі (головним


чином через інтернет) і в межах наявного асортименту виконувати купівлю
потрібних товарів.

1.1.2 Історія створення перших інтернет магазинів

У 1990 році Тім Бернерс-Лі створив перший вебсервер і браузер. Він


був відкритий для комерційного використання в 1991 році. У 1994 році
відбулися інші досягнення, наприклад, онлайн-банкінг та відкриття інтернет-
магазину піци «Pizza Hut». У тому ж році Netscape представила SSL-
шифрування даних, переданих в мережі, яке стало необхідним для безпеки
інтернет-магазинів. Крім того, в 1994 році німецька компанія Intershop
представила свою першу систему інтернет-магазинів. У 1995
році Amazon запустила свій інтернет-магазин, а в 1996 році з'явився eBay.

Серед найпопулярніших CMS електронної
комерції — Magento, OpenCart, osCommerce, VirtueMart, UMI.CMS, PHPShop
CMS, eCommerce та Ubercart для Drupal, а також VirtueMart для Joomla.

Для інтеграції описів товарів у базу даних інтернет-магазину


використовуються безкоштовні ресурси — Google Base та Open ICEcat. Серед
комерційних каталогів популярні Etilize та Cnet.

1.2 Аналіз існуючих додатків-аналогів «Інтернет магазин»

У ході дослідження найпопулярніших додатків серед користувачів у


«Play Маркеті» за тематикою «Інтернет магазин» було обрано висвітлити
додаток «Сільпо». Це звичайний онлайн магазин для замовлення продуктів.

Запустивши додаток, користувачеві буде доступний головний екран


(Рисунок 1.2.1).
8

Рис. 1.2.1 Головний екран додатку «Сільпо»

Ліворуч для користувача висвітлено головне меню з основними


розділами: Акції, подарункові сертифікати, супермаркети, бортовий журнал,
запитання та відповіді, робота в «Сільпо», цікавинки «Сільпо», прес-центр та
контакти. Нижче, користувач може переглянути події «Сільпо»(Рис. 1.2.2),
Мобільний додаток та номер гарячої лінії.

Рис. 1.2.3 Події інтернет-магазину «Сільпо»


9

Для того, щоб користувач міг оформити замовлення, йому потрібно


авторизуватися. Якщо у нього відсутній аккаунт, потрібно
зареєструватися(Рис. 1.2.4).

Рис. 1.2.4 Меню авторизації

Оформивши заказ, користувач може переглянути його, відкривши


розділ «Кошик»(Рис. 1.2.5).

Рис. 1.2.5 розділ «Кошик»


10

Для зворотнього зв’язку, інтернет магазин «Сільпо» використовує


електронну пошту, аккаунт Фейсбук та Інстаграм(Рис.1.2.6).

Рис. 1.2.6 Зворотній зв’язок інтернет магазину «Сільпо»

Висновки до розділу

Провівши аналіз інтернет магазину «Сільпо», дослідивши історію


створення онлайн магазинів, застосування у різних галузях життя, можна
зробити висновок, що додаток має характеризуватись швидкістю та
простотою застосування, а також простотою оцінки, аналізом результатів та
їх інтерпретацією. Розглянувши додаток «Сільпо» було поставлено завдання
розробити програмний модуль «Інтернет магазин», визначено варіанти
використання програми та висунуто функціональні вимоги.
11

РОЗДІЛ II ПРОЕКТУВАННЯ ТА ОСОБЛИВОСТІ РОЗРОБКИ


ПРОГРАМНОГО МОДУЛЮ «ІНТЕРНЕТ МАГАЗИН»

2.1 Вимоги до програми

Проаналізувавши предметну область та дослідивши рішення, що


існують, доречно сформулювати вимоги до майбутнього застосунку.
Опрацювавши джерела, що наведені вище приймаємо наступну
специфікацію вимог до програмного модулю «Інтернет магазин».

Завданням курсового проекту є розробка програмного додатку на мові


програмування C# з використанням WinForms , який відповідає за графічний
інтерфейс користувача, із застосуванням концепцій об’єктно-орієнтованого
програмування.

Програма повинна реалізовуватись за допомогою:

1. Абстрактних базових класів із декількома віртуальними методами


або набором інтерфейсів;

2. Похідних класів із реалізацією віртуальних методів, методів


інтерфейсів;

3. Операцій сортування, фільтрації, пошуку за декількома значеннями


об’єктів;

4. Операцій зчитування і запису даних файлів;

5. Обов’язкове використання поліморфізму;

6. Використання інтерфейсу програмування додатків WinForms


12

До програми висувається ряд вимог:

1. Створити зручне головне меню;


2. Забезпечити можливість перегляду кошика;
3. Забезпечити можливістю обирати продукти та їх кількість;
4. Можливість авторизації та реєстрації.

Інтерфейс користувача має містити:

1. Головне меню;
2. Розділ кошик;
3. Вікно реєстрації та авторизації;

При запуску програми вікно цілком виводиться на екран. Назви


параметрів повинні повністю відповідати їх призначенню.

2.1.1 Інтерфейс програмування додатків WinForms

Для розробки даного застосунку варто використати апаратну реалізацію


інтерфейсу в застосунку типу WinFrom. Що забезпечує створення якісного
графічного інтерфейсу.

Windows Forms дозволяє розробляти програми з повнофункціональним


графічним інтерфейсом, прості в розгортанні та оновленні, здатні працювати
за наявності або відсутності підключення до Інтернету та з використанням
безпечного доступу до ресурсів на локальному комп'ютері. Вона являє собою
набір керованих бібліотек, що спрощують виконання стандартних завдань,
таких як читання з файлової системи та запис до неї. За допомогою такого
середовища розробки, як Visual Studio, можна створювати інтелектуальні
клієнтські програми Windows Forms, які відображають інформацію,
вимагають введення від користувачів та обмінюються даними з віддаленими
комп'ютерами по мережі. Форма WinForms - це візуальна поверхня, на якій
відображається інформація для користувача. Зазвичай програма Windows
Forms будується шляхом розміщення елементів керування на форму та
13

написання коду для реагування на дії користувача, такі як клацання миші або
натискання клавіш. Елемент управління - це окремий елемент інтерфейсу
користувача, призначений для відображення або введення даних. Windows
Forms включає широкий набір елементів керування, які можна додавати на
форми: текстові поля, кнопки, списки, перемикачі і навіть веб-сторінки.
Використовуючи функцію перетягування конструктора Windows Forms у
Visual Studio, можна легко створювати програми Windows Forms. Достатньо
виділити елемент управління курсором і помістити його у потрібне місце на
формі. Для подолання труднощів, пов'язаних із вирівнюванням елементів
керування, конструктор надає такі засоби, як лінії сітки та лінії прив'язки.

У Windows Forms є безліч інших можливостей, які спрощують та


прискорюють реалізацію спільних завдань, таких як створення діалогових
вікон, друк, додавання довідки та документації, а також локалізація програм
різними мовами. Крім того, у застосовується ефективна система
безпеки .NET Framework. Завдяки якій можна створювати більш надійні
програми.

2.2 Блок-схеми основних методів програмного додатку

При вивченні програмування необхідно мати чітку уяву, що таке


алгоритм, як він працює і як його запрограмувати. Від добре спроектованих
блок-схем, що описують алгоритми чи процеси, у яких окремі кроки
зображуються як блоків різної форми, з'єднаних між собою лініями, вказують
напрям послідовності, залежить скільки часу у вас займе відлагодження
програми і пошук помилок. А також алгоритм показує структуру виконання
програми або частини коду, що дуже важливо при модифікації програми.

Нижче наведені блок-схеми основних алгоритмів програми:


14

Start

F label4.Text ==
"Зареєструйтесь"

T
MessageBox.Show("Ви не
зареєструвались");
return;

F
DataBank.cust == ""

T
MessageBox.Show("Ви нічого не
обрали");
return;

DB db = new DB();
MySqlCommand command = new MySqlCommand("INSERT INTO `замовлення` (`login`, `pass`,
`name`, `custom`,`number`) VALUES (@log, @pas, @nam, @cus,@num)", db.getConnection());
command.Parameters.Add("@log", MySqlDbType.VarChar).Value = DataBank.userloginnam;
command.Parameters.Add("@pas", MySqlDbType.VarChar).Value = DataBank.userpas;
command.Parameters.Add("@nam", MySqlDbType.VarChar).Value = DataBank.usernamefie;
command.Parameters.Add("@cus", MySqlDbType.VarChar).Value = DataBank.cust;
command.Parameters.Add("@num", MySqlDbType.VarChar).Value = DataBank.usernumbe;

db.openConnection();

F
command.ExecuteNonQuery() == 1

MessageBox.Show("Ваше замовлення було


додано");
this.Hide();
Foodform1 Mainform = new Foodform1();
Mainform.Show();

MessageBox.Show("Щось пішло не так");


db.closeConnection();
15

end

Рис. 2.2.1 Блок-схема алгоритму створення замовлення

Start

F DataBank.login ==
"Зареєструйтесь"

MessageBox.Show("Ви не зареєстровані");
return;

F
pr[1] == 0

T
MessageBox.Show("Ви не обрали
кількіcть");
return;

DataBank.cust += $"{textBox2.Text} - {pr[1] * cn[1]}грн." + "";


DataBank.text[1] = $"{textBox2.Text} - {pr[1] * cn[1]}грн.";
DataBank.sum = $"{pr[0] * cn[0] + pr[1] * cn[1] + pr[2] * cn[2] + pr[3] * cn[3] + pr[4] * cn[4] + pr[5] *
cn[5]} грн";

end

Рис. 2.2.1 Блок-схема алгоритму оформлення замовлення

2.3 Діаграми класів та структура проекту


16

В цьому розділі зображено діаграму основних класів , які присутні у


проекті. Таким чином, дана ієрархія класів, що забезпечує чітке розуміння
взаємодії та реалізації ігрового програмного модулю.

Рис. 2.3.1 Діаграма класів проекту

2.4 Текст програмної реалізації


Одним із завдань курсового проекту є реалізація спеціальних методів
функціонального програмування для розширення функціоналу програми.
Весь текст програмної реалізації наведено в додатку «А».

В цьому розділі наведено приклад реалізації методів з поясненням.


Метод основною задачею якого є ініціалізація форми:

Лістинг 1

public Foodform2()
{
InitializeComponent();
label9.Text = DataBank.login;
button4.FlatAppearance.BorderSize = 0;
button4.FlatStyle = FlatStyle.Flat;
17

button1.FlatAppearance.BorderSize = 0;
button1.FlatStyle = FlatStyle.Flat;
button3.FlatAppearance.BorderSize = 0;
button3.FlatStyle = FlatStyle.Flat;

Метод основною задачею якого є очищення кошика:

Лістинг 2

private void button2_Click_1(object sender, EventArgs e)


{
DataBank.cust = "";
DataBank.sum = "0 грн";
label5.Text = DataBank.sum;
listBox1.Items.Clear();
}

Метод основною задачею якого є додавання замовлення в кошик:

Лістинг 3

private void button5_Click(object sender, EventArgs e)


{
if (label4.Text == "Зареєструйтесь")
{
MessageBox.Show("Ви не зареєструвались");
return;
}
if (DataBank.cust == "")
{
MessageBox.Show("Ви нічого не обрали");
return;
}

DB db = new DB();
MySqlCommand command = new MySqlCommand("INSERT INTO `замовлення` (`login`, `pass`,
`name`, `custom`,`number`) VALUES (@log, @pas, @nam, @cus,@num)", db.getConnection());
18

command.Parameters.Add("@log", MySqlDbType.VarChar).Value = DataBank.userloginnam;


command.Parameters.Add("@pas", MySqlDbType.VarChar).Value = DataBank.userpas;
command.Parameters.Add("@nam", MySqlDbType.VarChar).Value = DataBank.usernamefie;
command.Parameters.Add("@cus", MySqlDbType.VarChar).Value = DataBank.cust;
command.Parameters.Add("@num", MySqlDbType.VarChar).Value = DataBank.usernumbe;

db.openConnection();

if (command.ExecuteNonQuery() == 1)
{

MessageBox.Show("Ваше замовлення було додано");


this.Hide();
Foodform1 Mainform = new Foodform1();
Mainform.Show();

}
else
MessageBox.Show("Щось пішло не так");
db.closeConnection();

Висновки до розділу

В даному розділі визначено вимоги до програми, обґрунтовано вибір


інтерфейсу програмування додатків WinForms, наведено блок-схеми
основних алгоритмів програми, діаграми класів та структура проекту,
описаний код їх програмної реалізації, показано результати виконання
програми по кожному методу. Проектування здійснювалося з використанням
об’єктно-орієнтованого підходу до проектування.
19

РОЗДІЛ III ОСОБЛИВОСТІ ТА ПОКРОКОВА ІНСТРУКЦІЯ


ВИКОРИСТАННЯ ДОДАТКУ «ІНТЕРНЕТ МАГАЗИН »

3.1 Особливості використання та покрокова інструкція використання додатку

Результатом виконання курсового проекту є програмний модуль


«Інтернет магазин» , який працює як повноцінний крос-платформний
додаток та підтримується всіма операційними системами. Для його запуску
необхідно запустити точку входу у програму. Після цього користувачу
відкриється вікно терміналу з головним меню.

Завдяки додатку «Інтернет магазин» користувач може виконувати такі


дії:

1. Зареєструватися або авторизуватися в базі магазину;


2. Обрати необхідний товар та його кількість.
3. Спостерігати ціну товару;
4. Спостерігати своє замовлення в «Корзині»;
5. Очистити корзину.

У головному меню «Інтернет магазину» користувач спостерігає


функціонал магазину(стрічка ліворуч), можливість авторизації в мережі
магазину та деяку інформацію про дану структуру(Рис. 3.1.1)
20

Рис. 3.1.1 Головне меню додатку «Інтернет магазин»


Для початку роботи в додатку, користувач обов’язково повинен
авторизуватися(3.1.2), ввести логін та пароль. Якщо в нього немає аккаунта
сервісу, він має можливість зареєструватися за допомогою функціоналу
додатку(Рис. 3.1.3). Для цього потрібно надати своє ім’я, придумати логін,
пароль та ввести номер телефона.

Рис. 3.1.2 Форма авторизації

Рис. 3.1.3 Форма реєстрації

Як тільки користувач авторизується, він може починати вибирати


продукти. Для цього потрібно натиснути в головному меню кнопку
21

«Продукти». Обираючи товар, покупець має можливість змінити


кількість(Рис. 3.1.4).

Рис. 3.1.4 Меню «Продукти»

Як тільки покупець вирішить, що буде купляти, він повинен натиснути


кнопку «Придбати» і товар з’явиться в його кошику(Рис. 3.1.5).

Рис. 3.1.5 Функція «Придбати»


22

У головному меню користувач може перейти до розділу «Корзина», там


він побачить всі свої покупки та зможе розрахуватися за них(Рис. 3.1.6).
Також, якщо покупець хочу змінити товар, він може скористатися функцією
«Очистити корзину».

Рис. 3.1.6 Розділ «Корзина»

Висновки до розділу

Отже, покрокова інструкція використання програмного модулю


«Інтернет магазин» розроблена. Крім цього, користувача супроводжує
інструкція в ході використання програмного модулю. Загалом, інтерфейс
програми є інтуїтивно зрозумілим та не потребує додаткових пояснень чи
уточнень.
23

ВИСНОВКИ

На сьогоднішній день, не зважаючи на величезну кількість


різноманітних додатків, інтернет замовлення користуються великою
популярнісю. Програма «Інтернет магазин» - онлайн магазин продуктів із
зручним та зрозумілим інтерфейсом.
У ходi виконання курсового проекту було здiйснено:
 по-перше, аналіз додатку «Інтернет магазин», її походження, способи
розв’язання математичної гри, способи застосування у різних галузях
життя та дослідження існуючих додатків. З цього було зроблено
висновок, що для кращого майбутнього застосовування, необхідно
забезпечити зручний графічний інтерфейс, безвідномовну роботу,
простоту застосування, не відходячи від базових правил.
 по-друге, згідно поставленого завдання реалізовано програмний
додаток з відповідним функціоналом шляхом використання об’єктно-
орієнтованого підходу. Також в ході розробки використовувались
різноманітні технології та інтерфейс програмування додатків Windows
Forms, що сприяло розширенню можливостей програмного додатка.
 по-третє, розроблено покрокові інструкції основних та додаткових
операцій. Загалом, інтерфейс програми вийшов інтуїтивно зрозумілим
та таким, що не потребує додаткових пояснень чи уточнень.
Отже, завдання курсового проекту виконано, мету проекту - досягнуто, а
зокрема: розроблено програмний модуль «Інтернет магазин» з графічним
інтерфейсом мовою програмування С# із застосуванням об’єктно-
24

орієнтованого підходу; закріплено теоретичні навички з дисципліни


«Об’єктно-орієнтоване програмування»; надбано практичних умінь з
розробки програм з урахуванням об’єктно-орієнтованого підходу шляхом
написання програмного коду та складання діаграм класів.

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

1. Основні поняття об'єктно-орієнтованого програмування: інкапсуляція,


успадкування і поліморфізм [Електронний ресурс] // НУК. – 2016. –
Режим доступу до ресурсу: https://studfiles.net/preview/5851327/page:11/.
2. Нужненко О. С. КОНСПЕКТ ЛЕКЦІЙ з дисципліни: «Основи
програмної інженерії» [Електронний ресурс] / О. С. Нужненко //
КИЇВСЬКИЙ ТЕХНІКУМ ЕЛЕКТРОННИХ ПРИЛАДІВ. – 2017. –
Режим доступу до ресурсу:
3. Класи. Об'єктно-орієнтоване програмування [Електронний ресурс] //
METANIT. – 2018. – Режим доступу до ресурсу:
https://metanit.com/sharp/tutorial/3.1.php.
4. Массивы [Електронний ресурс] // METANIT.COM Сайт
опрограммировании. – 2018. – Режим доступу до ресурсу:
https://metanit.com/sharp/tutorial/2.4.php.
5. Основні поняття об'єктно-орієнтованого програмування: інкапсуляція,
успадкування і поліморфізм [Електронний ресурс] // НУК. – 2016. –
Режим доступу до ресурсу: https://studfiles.net/preview/5851327/page:11/.
6. Лавріщева К. М. ВИЗНАЧЕННЯ ПРЕДМЕТУ – ПРОГРАМНА
ІНЖЕНЕРІЯ [Електронний ресурс] / Катерина Михайлівна Лавріщева //
Інститут програмних систем НАН України. – 2016. – Режим доступу до
ресурсу:
http://dspace.nbuv.gov.ua/bitstream/handle/123456789/1450/25%20%20Lav
rischeva.pdf?sequence=1.
25
26

ДОДАТОК А

Лістинг програмного коду

public partial class registerform : Form


{

public registerform()
{
InitializeComponent();
usernamefield.Text = "Введіть ім'я";
usernamefield.ForeColor = Color.Gray;
userloginname.Text = "Введіть логін";
userloginname.ForeColor = Color.Gray;
userpass.Text = "Введіть пароль";
userpass.ForeColor = Color.Gray;
usernumber.Text = "Введіть телефон";
usernumber.ForeColor = Color.Gray;

private void panel2_Paint(object sender, PaintEventArgs e)


{

private void usernamefield_Enter(object sender, EventArgs e)


{
if (usernamefield.Text == "Введіть ім'я")
usernamefield.Text = "";
usernamefield.ForeColor = Color.Black;
}

private void usernamefield_Leave(object sender, EventArgs e)


{
if (usernamefield.Text == "")
{
usernamefield.Text = "Введіть ім'я";
usernamefield.ForeColor = Color.Gray;
}
else
{
usernamefield.ForeColor = Color.Black;
}

private void userloginname_Enter(object sender, EventArgs e)


{
27

if (userloginname.Text == "Введіть логін")


userloginname.Text = "";
userloginname.ForeColor = Color.Black;
}

private void userloginname_Leave(object sender, EventArgs e)


{
if (userloginname.Text == "")
{
userloginname.Text = "Введіть логін";
userloginname.ForeColor = Color.Gray;
}
else
{
usernamefield.ForeColor = Color.Black;
}

private void userpass_Enter(object sender, EventArgs e)


{
if (userpass.Text == "Введіть пароль")
userpass.Text = "";
userpass.ForeColor = Color.Black;
}

private void userpass_Leave(object sender, EventArgs e)


{
if (userpass.Text == "")
{
userpass.Text = "Введіть пароль";
userpass.ForeColor = Color.Gray;
}
else
{
usernamefield.ForeColor = Color.Black;
}
}

private void usernumber_Enter(object sender, EventArgs e)


{
if (usernumber.Text == "Введіть телефон")
usernumber.Text = "";
usernumber.ForeColor = Color.Black;
}

private void usernumber_Leave(object sender, EventArgs e)


{
if (usernumber.Text == "")
{
usernumber.Text = "Введіть телефон";
usernumber.ForeColor = Color.Gray;
28

}
else
{
usernamefield.ForeColor = Color.Black;
}
}

private void buttonlogin_Click(object sender, EventArgs e)


{

if (userloginname.Text == "Введіть логін")


{
MessageBox.Show("Введіть логін");
return;
}
if (userpass.Text == "Введіть пароль")
{
MessageBox.Show("Введіть пароль");
return;
}
if (usernamefield.Text == "Введіть ім'я")
{
MessageBox.Show("Введіть ім'я");
return;
}
if (usernumber.Text == "Введіть ім'я")
{
MessageBox.Show("Введіть телефон");
return;
}

if (checkUser())
{
return;
}
int number;
try
{
number = Convert.ToInt32(usernumber.Text);
}
catch
{
MessageBox.Show("Введіть коректний номер телефону");
return;
}
DataBank.userloginnam = userloginname.Text;
DataBank.userpas = userpass.Text;
DataBank.usernamefie = usernamefield.Text;
DataBank.usernumbe = Convert.ToInt32(usernumber.Text);

DB db = new DB();
29

MySqlCommand command = new MySqlCommand("INSERT INTO `users` (`login`, `pass`,


`name`, `number`,`order`) VALUES (@login, @password, @name, @number,@order)",
db.getConnection());
command.Parameters.Add("@login", MySqlDbType.VarChar).Value = userloginname.Text;
command.Parameters.Add("@password", MySqlDbType.VarChar).Value = userpass.Text;
command.Parameters.Add("@name", MySqlDbType.VarChar).Value = usernamefield.Text;
command.Parameters.Add("@number", MySqlDbType.VarChar).Value = usernumber.Text;
command.Parameters.Add("@order", MySqlDbType.VarChar).Value = "";

db.openConnection();

if (command.ExecuteNonQuery() == 1)
{
DataBank.login = userloginname.Text;
MessageBox.Show("Аккаунт був створений");
this.Hide();
Foodform1 Mainforma = new Foodform1();
Mainforma.Show();

}
else
MessageBox.Show("Аккаунт не був створений");
db.closeConnection();

public Boolean checkUser()


{
DB db = new DB();

DataTable table = new DataTable();

MySqlDataAdapter adapter = new MySqlDataAdapter();

MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `login`=


@uL ", db.getConnection());
command.Parameters.Add("@uL", MySqlDbType.VarChar).Value = userloginname.Text;
adapter.SelectCommand = command;
adapter.Fill(table);

if (table.Rows.Count > 0)
{
MessageBox.Show("Данний логін вже зайнятий");
return true;
}
else
return false;

}
30

private void label2_Click(object sender, EventArgs e)


{
this.Hide();
loginform Loginform = new loginform();
Loginform.Show();

private void usernamefield_TextChanged(object sender, EventArgs e)


{

private void label1_Click(object sender, EventArgs e)


{

private void usernumber_TextChanged(object sender, EventArgs e)


{

}
}

public partial class Foodform2 : Form


{
int[] pr = new int []{0,0,0,0,0,0 };
int[] cn = new int[] {13,15,30,13,25,17};

public Foodform2()
{
InitializeComponent();
label9.Text = DataBank.login;
button4.FlatAppearance.BorderSize = 0;
button4.FlatStyle = FlatStyle.Flat;
button1.FlatAppearance.BorderSize = 0;
button1.FlatStyle = FlatStyle.Flat;
button3.FlatAppearance.BorderSize = 0;
button3.FlatStyle = FlatStyle.Flat;

private void button4_Click(object sender, EventArgs e)


{
this.Hide();
Foodform1 Mainform = new Foodform1();
31

Mainform.Show();
}

private void button3_Click(object sender, EventArgs e)


{

this.Hide();
BucketForm bucketform = new BucketForm();
bucketform.Show();
}

private void button1_Click(object sender, EventArgs e)


{

private void pictureBox1_Click(object sender, EventArgs e)


{
this.Hide();
registerform registerform = new registerform();
registerform.Show();
}

private void button2_Click(object sender, EventArgs e)


{
if (DataBank.login == "Зареєструйтесь")
{
MessageBox.Show("Ви не зареєстровані");
return;
}
else
if (pr[0] == 0)
{
MessageBox.Show("Ви не обрали кількіcть");
return;
}
DataBank.cust += $"{textBox1.Text} - {pr[0] * cn[0]}грн."+"";
DataBank.text[0] = $"{textBox1.Text} - {pr[0] * cn[0]}грн.";
DataBank.sum = $"{pr[0] * cn[0] + pr[1] * cn[1] + pr[2] * cn[2] + pr[3] * cn[3] + pr[4] * cn[4] + pr[5] *
cn[5]} грн";

private void button10_Click(object sender, EventArgs e)


{
pr[0] += 1;
textBox1.Text = $"Кокакола {pr[0]} шт.";
}

private void button11_Click(object sender, EventArgs e)


{
32

if (pr[0] > 0)
{
pr[0] -= 1;
textBox1.Text = $"Кокакола {pr[0]} шт.";
}
}

private void textBox1_TextChanged(object sender, EventArgs e)


{

private void button5_Click(object sender, EventArgs e)


{
if (DataBank.login == "Зареєструйтесь")
{
MessageBox.Show("Ви не зареєстровані");
return;
}
else
if (pr[1] == 0)
{
MessageBox.Show("Ви не обрали кількіcть");
return;
}
DataBank.cust += $"{textBox2.Text} - {pr[1] * cn[1]}грн." + "";
DataBank.text[1] = $"{textBox2.Text} - {pr[1] * cn[1]}грн.";
DataBank.sum = $"{pr[0] * cn[0] + pr[1] * cn[1] + pr[2] * cn[2] + pr[3] * cn[3] + pr[4] * cn[4] + pr[5] *
cn[5]} грн";
}

private void button13_Click_1(object sender, EventArgs e)


{
pr[1] += 1;
textBox2.Text = $"Молоко {pr[1]} шт.";
}

private void button12_Click_1(object sender, EventArgs e)


{
if (pr[1] > 0)
{
pr[1] -= 1;
textBox2.Text = $"Молоко {pr[1]} шт.";
}
}

private void button15_Click(object sender, EventArgs e)


{
if (pr[2] > 0)
{
33

pr[2] -= 1;
textBox3.Text = $"Колбаса {pr[2]} шт.";
}
}

private void button14_Click(object sender, EventArgs e)


{
pr[2] += 1;
textBox3.Text = $"Колбаса {pr[2]} шт.";
}

private void button6_Click(object sender, EventArgs e)


{
if (DataBank.login == "Зареєструйтесь")
{
MessageBox.Show("Ви не зареєстровані");
return;
}
else
if (pr[2] == 0)
{
MessageBox.Show("Ви не обрали кількіcть");
return;
}

DataBank.cust += $"{textBox3.Text} - {pr[2] * cn[2]}грн." + "";


DataBank.text[2] = $"{textBox3.Text} - {pr[2] * cn[2]}грн.";
DataBank.sum = $"{pr[0] * cn[0] + pr[1] * cn[1] + pr[2] * cn[2] + pr[3] * cn[3] + pr[4] * cn[4] + pr[5] *
cn[5]} грн";
}

private void button16_Click(object sender, EventArgs e)


{
if (pr[3] > 0)
{
pr[3] -= 1;
textBox4.Text = $"Пепсі {pr[3]} шт.";
}
}

private void textBox4_TextChanged(object sender, EventArgs e)


{

private void button19_Click(object sender, EventArgs e)


{
pr[3] += 1;
textBox4.Text = $"Пепсі {pr[3]} шт.";
}
34

private void button8_Click(object sender, EventArgs e)


{
if (DataBank.login == "Зареєструйтесь")
{
MessageBox.Show("Ви не зареєстровані");
return;
}
else
if (pr[3] == 0)
{
MessageBox.Show("Ви не обрали кількіcть");
return;
}
DataBank.cust += $"{textBox4.Text} - {pr[3] * cn[3]}грн." + "";
DataBank.text[3] = $"{textBox4.Text} - {pr[3] * cn[3]}грн.";
DataBank.sum = $"{pr[0] * cn[0] + pr[1] * cn[1] + pr[2] * cn[2] + pr[3] * cn[3] + pr[4] * cn[4] + pr[5] *
cn[5]} грн";
}

private void button17_Click(object sender, EventArgs e)


{
if (pr[4] > 0)
{
pr[4] -= 1;
textBox5.Text = $"Масло {pr[4]} шт.";
}
}

private void button20_Click(object sender, EventArgs e)


{
pr[4] += 1;
textBox5.Text = $"Масло {pr[4]} шт.";
}

private void textBox5_TextChanged(object sender, EventArgs e)


{

private void button9_Click(object sender, EventArgs e)


{
if (DataBank.login == "Зареєструйтесь")
{
MessageBox.Show("Ви не зареєстровані");
return;
}
else
if (pr[4] == 0)
{
MessageBox.Show("Ви не обрали кількіcть");
return;
}
35

DataBank.cust += $"{textBox5.Text} - {pr[4] * cn[4]}грн." + "";


DataBank.text[4] = $"{textBox5.Text} - {pr[4] * cn[4]}грн.";
DataBank.sum = $"{pr[0] * cn[0] + pr[1] * cn[1] + pr[2] * cn[2] + pr[3] * cn[3] + pr[4] * cn[4] + pr[5] *
cn[5]} грн";
}

private void button18_Click(object sender, EventArgs e)


{
if (pr[5] > 0)
{
pr[5] -= 1;
textBox6.Text = $"Чіпси {pr[5]} шт.";
}
}

private void button21_Click(object sender, EventArgs e)


{
pr[5] += 1;
textBox6.Text = $"Чіпси {pr[5]} шт.";
}

private void button7_Click(object sender, EventArgs e)


{
if (DataBank.login == "Зареєструйтесь")
{
MessageBox.Show("Ви не зареєстровані");
return;
}
else
if (pr[5] == 0)
{
MessageBox.Show("Ви не обрали кількіcть");
return;
}
DataBank.cust += $"{textBox6.Text} - {pr[5] * cn[5]}грн." + "";
DataBank.text[5] = $"{textBox6.Text} - {pr[5] * cn[5]}грн.";
DataBank.sum = $"{pr[0] * cn[0] + pr[1] * cn[1] + pr[2] * cn[2] + pr[3] * cn[3] + pr[4] * cn[4] + pr[5] *
cn[5]} грн";

private void Foodform2_Load(object sender, EventArgs e)


{
label9.Text = DataBank.login;
}

private void label9_Click(object sender, EventArgs e)


{
this.Hide();
registerform registerform = new registerform();
registerform.Show();
36

public partial class BucketForm : Form


{

public BucketForm()
{
InitializeComponent();
label4.Text = DataBank.login;
label5.Text = DataBank.sum;
}

private void BucketForm_Load(object sender, EventArgs e)


{
label4.Text = DataBank.login;
label5.Text = DataBank.sum;
if (DataBank.text[0] != " ")
{
listBox1.Items.Add(DataBank.text[0]);
}
if (DataBank.text[1] != " ")
{
listBox1.Items.Add(DataBank.text[1]);
}
if (DataBank.text[2] != " ")
{
listBox1.Items.Add(DataBank.text[2]);
}
if (DataBank.text[3] != " ")
{
listBox1.Items.Add(DataBank.text[3]);
}
if (DataBank.text[4] != " ")
{
listBox1.Items.Add(DataBank.text[4]);
}
if (DataBank.text[5] != " ")
{
listBox1.Items.Add(DataBank.text[5]);
}

button4.FlatAppearance.BorderSize = 0;
button4.FlatStyle = FlatStyle.Flat;
button1.FlatAppearance.BorderSize = 0;
button1.FlatStyle = FlatStyle.Flat;
37

button3.FlatAppearance.BorderSize = 0;
button3.FlatStyle = FlatStyle.Flat;

private void button4_Click(object sender, EventArgs e)


{

this.Hide();
Foodform1 Mainform = new Foodform1();
Mainform.Show();
}

private void button1_Click(object sender, EventArgs e)


{
this.Hide();
Foodform2 foodform = new Foodform2();
foodform.Show();
}

private void pictureBox1_Click(object sender, EventArgs e)


{
this.Hide();
registerform registerform = new registerform();
registerform.Show();
}

private void textBox1_TextChanged(object sender, EventArgs e)


{

private void textBox1_TextChanged_1(object sender, EventArgs e)


{

private void button2_Click(object sender, EventArgs e)


{

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)


{

}
38

private void label4_Click(object sender, EventArgs e)


{
this.Hide();
registerform registerform = new registerform();
registerform.Show();
}

private void button2_Click_1(object sender, EventArgs e)


{
DataBank.cust = "";
DataBank.sum = "0 грн";
label5.Text = DataBank.sum;
listBox1.Items.Clear();
}

private void label5_Click(object sender, EventArgs e)


{

private void button5_Click(object sender, EventArgs e)


{
if (label4.Text == "Зареєструйтесь")
{
MessageBox.Show("Ви не зареєструвались");
return;
}
if (DataBank.cust == "")
{
MessageBox.Show("Ви нічого не обрали");
return;
}

DB db = new DB();
MySqlCommand command = new MySqlCommand("INSERT INTO `замовлення` (`login`, `pass`,
`name`, `custom`,`number`) VALUES (@log, @pas, @nam, @cus,@num)", db.getConnection());
command.Parameters.Add("@log", MySqlDbType.VarChar).Value = DataBank.userloginnam;
command.Parameters.Add("@pas", MySqlDbType.VarChar).Value = DataBank.userpas;
command.Parameters.Add("@nam", MySqlDbType.VarChar).Value = DataBank.usernamefie;
command.Parameters.Add("@cus", MySqlDbType.VarChar).Value = DataBank.cust;
command.Parameters.Add("@num", MySqlDbType.VarChar).Value = DataBank.usernumbe;

db.openConnection();

if (command.ExecuteNonQuery() == 1)
{

MessageBox.Show("Ваше замовлення було додано");


this.Hide();
Foodform1 Mainform = new Foodform1();
39

Mainform.Show();

}
else
MessageBox.Show("Щось пішло не так");
db.closeConnection();

}
}

partial class registerform


{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise,
false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Windows Form Designer generated code

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new
System.ComponentModel.ComponentResourceManager(typeof(registerform));
this.panel2 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.usernumber = new System.Windows.Forms.TextBox();
this.userpass = new System.Windows.Forms.TextBox();
this.buttonlogin = new System.Windows.Forms.Button();
this.userloginname = new System.Windows.Forms.TextBox();
40

this.usernamefield = new System.Windows.Forms.TextBox();


this.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.panel2.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// panel2
//
this.panel2.BackColor = System.Drawing.SystemColors.ButtonFace;
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel2.Controls.Add(this.label2);
this.panel2.Controls.Add(this.usernumber);
this.panel2.Controls.Add(this.userpass);
this.panel2.Controls.Add(this.buttonlogin);
this.panel2.Controls.Add(this.userloginname);
this.panel2.Controls.Add(this.usernamefield);
this.panel2.Location = new System.Drawing.Point(32, 87);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(638, 349);
this.panel2.TabIndex = 7;
this.panel2.Paint += new System.Windows.Forms.PaintEventHandler(this.panel2_Paint);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F,
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label2.ForeColor = System.Drawing.SystemColors.Highlight;
this.label2.Location = new System.Drawing.Point(13, 311);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(175, 25);
this.label2.TabIndex = 8;
this.label2.Text = "Вже є аккаунт ?";
this.label2.Click += new System.EventHandler(this.label2_Click);
//
// usernumber
//
this.usernumber.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.usernumber.Location = new System.Drawing.Point(18, 171);
this.usernumber.Name = "usernumber";
this.usernumber.Size = new System.Drawing.Size(453, 45);
this.usernumber.TabIndex = 7;
this.usernumber.TextChanged += new System.EventHandler(this.usernumber_TextChanged);
this.usernumber.Enter += new System.EventHandler(this.usernumber_Enter);
this.usernumber.Leave += new System.EventHandler(this.usernumber_Leave);
//
// userpass
//
this.userpass.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
41

this.userpass.Location = new System.Drawing.Point(18, 120);


this.userpass.Name = "userpass";
this.userpass.Size = new System.Drawing.Size(453, 45);
this.userpass.TabIndex = 6;
this.userpass.Enter += new System.EventHandler(this.userpass_Enter);
this.userpass.Leave += new System.EventHandler(this.userpass_Leave);
//
// buttonlogin
//
this.buttonlogin.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.buttonlogin.Location = new System.Drawing.Point(333, 286);
this.buttonlogin.Name = "buttonlogin";
this.buttonlogin.Size = new System.Drawing.Size(248, 50);
this.buttonlogin.TabIndex = 5;
this.buttonlogin.Text = "Зареєструватись";
this.buttonlogin.UseVisualStyleBackColor = true;
this.buttonlogin.Click += new System.EventHandler(this.buttonlogin_Click);
//
// userloginname
//
this.userloginname.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.userloginname.Location = new System.Drawing.Point(18, 69);
this.userloginname.Name = "userloginname";
this.userloginname.Size = new System.Drawing.Size(453, 45);
this.userloginname.TabIndex = 4;
this.userloginname.Enter += new System.EventHandler(this.userloginname_Enter);
this.userloginname.Leave += new System.EventHandler(this.userloginname_Leave);
//
// usernamefield
//
this.usernamefield.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.usernamefield.Location = new System.Drawing.Point(18, 18);
this.usernamefield.Name = "usernamefield";
this.usernamefield.Size = new System.Drawing.Size(453, 45);
this.usernamefield.TabIndex = 3;
this.usernamefield.TextChanged += new System.EventHandler(this.usernamefield_TextChanged);
this.usernamefield.Enter += new System.EventHandler(this.usernamefield_Enter);
this.usernamefield.Leave += new System.EventHandler(this.usernamefield_Leave);
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.Orange;
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Controls.Add(this.label1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(734, 68);
this.panel1.TabIndex = 6;
42

//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 28.2F,
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label1.Location = new System.Drawing.Point(220, 8);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(274, 54);
this.label1.TabIndex = 0;
this.label1.Text = "Реєстрація";
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// registerform
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(734, 491);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "registerform";
this.Text = "registerform";
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);

#endregion
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Button buttonlogin;
private System.Windows.Forms.TextBox userloginname;
private System.Windows.Forms.TextBox usernamefield;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox usernumber;
private System.Windows.Forms.TextBox userpass;
private System.Windows.Forms.Label label2;
}

internal static class Program


{
/// <summary>
/// Главная точка входа для приложения.
/// </summary>
[STAThread]
static void Main()
43

{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Foodform1());
}
}

partial class loginform


{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise,
false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Windows Form Designer generated code

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new
System.ComponentModel.ComponentResourceManager(typeof(loginform));
this.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.loginfield = new System.Windows.Forms.TextBox();
this.passfield = new System.Windows.Forms.TextBox();
this.panel2 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.buttonlogin = new System.Windows.Forms.Button();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.panel2.SuspendLayout();
44

this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.Orange;
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Controls.Add(this.label1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(734, 68);
this.panel1.TabIndex = 0;
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 28.2F,
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label1.Location = new System.Drawing.Point(220, 8);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(302, 54);
this.label1.TabIndex = 0;
this.label1.Text = "Авторизація";
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// pictureBox1
//
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(35, 25);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(66, 61);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 1;
this.pictureBox1.TabStop = false;
//
// pictureBox2
//
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
this.pictureBox2.Location = new System.Drawing.Point(35, 122);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(66, 61);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox2.TabIndex = 2;
this.pictureBox2.TabStop = false;
//
// loginfield
//
this.loginfield.Font = new System.Drawing.Font("Microsoft Sans Serif", 28.2F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.loginfield.Location = new System.Drawing.Point(133, 25);
this.loginfield.Name = "loginfield";
45

this.loginfield.Size = new System.Drawing.Size(337, 61);


this.loginfield.TabIndex = 3;
this.loginfield.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// passfield
//
this.passfield.Font = new System.Drawing.Font("Microsoft Sans Serif", 28.2F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.passfield.Location = new System.Drawing.Point(133, 122);
this.passfield.Name = "passfield";
this.passfield.Size = new System.Drawing.Size(337, 61);
this.passfield.TabIndex = 4;
this.passfield.UseSystemPasswordChar = true;
//
// panel2
//
this.panel2.BackColor = System.Drawing.SystemColors.ButtonFace;
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel2.Controls.Add(this.label2);
this.panel2.Controls.Add(this.buttonlogin);
this.panel2.Controls.Add(this.passfield);
this.panel2.Controls.Add(this.loginfield);
this.panel2.Controls.Add(this.pictureBox2);
this.panel2.Controls.Add(this.pictureBox1);
this.panel2.Location = new System.Drawing.Point(67, 87);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(603, 288);
this.panel2.TabIndex = 5;
this.panel2.Paint += new System.Windows.Forms.PaintEventHandler(this.panel2_Paint);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label2.ForeColor = System.Drawing.SystemColors.Highlight;
this.label2.Location = new System.Drawing.Point(13, 247);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(202, 25);
this.label2.TabIndex = 6;
this.label2.Text = "Ще немає аккаунта?";
this.label2.Click += new System.EventHandler(this.label2_Click);
//
// buttonlogin
//
this.buttonlogin.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.buttonlogin.Location = new System.Drawing.Point(453, 205);
this.buttonlogin.Name = "buttonlogin";
this.buttonlogin.Size = new System.Drawing.Size(118, 50);
this.buttonlogin.TabIndex = 5;
this.buttonlogin.Text = "Увійти";
46

this.buttonlogin.UseVisualStyleBackColor = true;
this.buttonlogin.Click += new System.EventHandler(this.buttonlogin_Click);
//
// loginform
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(734, 491);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "loginform";
this.Text = "loginform";
this.Load += new System.EventHandler(this.loginform_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.ResumeLayout(false);

#endregion

private System.Windows.Forms.Panel panel1;


private System.Windows.Forms.Label label1;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.TextBox loginfield;
private System.Windows.Forms.TextBox passfield;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Button buttonlogin;
private System.Windows.Forms.Label label2;
}

public partial class loginform : Form


{
public loginform()
{
InitializeComponent();
}

private void loginform_Load(object sender, EventArgs e)


{

private void textBox1_TextChanged(object sender, EventArgs e)


47

private void buttonlogin_Click(object sender, EventArgs e)


{
String loginUser = loginfield.Text;
String passUser = passfield.Text;

DB db = new DB();

DataTable table = new DataTable();

MySqlDataAdapter adapter = new MySqlDataAdapter();

MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `login`=


@uL AND `pass` = @uP", db.getConnection());
command.Parameters.Add("@uL", MySqlDbType.VarChar).Value = loginUser;
command.Parameters.Add("@uP", MySqlDbType.VarChar).Value = passUser;
adapter.SelectCommand = command;
adapter.Fill(table);
DataBank.login= loginUser;
DataBank.userloginnam = loginUser;
DataBank.userpas = passUser;
DataBank.usernamefie = loginUser;
Random fr = new Random();
int frx;
frx = fr.Next(10000, 99999);
DataBank.usernumbe = frx;
if (table.Rows.Count > 0) { }

else
MessageBox.Show("Ви увішли !");
this.Hide();
Foodform1 Mainform = new Foodform1();
Mainform.Show();

private void panel1_Paint(object sender, PaintEventArgs e)


{

private void panel2_Paint(object sender, PaintEventArgs e)


{

private void label2_Click(object sender, EventArgs e)


{
this.Hide();
48

registerform registerform = new registerform();


registerform.Show();
}

private void label1_Click(object sender, EventArgs e)


{

}
}

You might also like