класі головного вікна бази так само присутні методи, які описують реакції програми на натискання кнопок додавання сутності, зміни сутності, пошуку та оновлення бази (скасовані виділення рядків).
На кожній вкладці бази (крім вкладки перегляду списку клієнтів) присутня кнопка додавання сутності (автомобіля, мотоцикла, диска, шини, продавця). Розглянемо функціонал даних кнопок на прикладі додавання автомобіля і додавання диска. Додавання автомобіля і мотоцикла використовують ідентичну логіку. Додавання дисків, шин, продавців так само має ідентичну логіку. p align="justify"> AutosalonButtonAddAuto_Click (objectsender, EventArgse) - метод для опису реакції програми на натискання кнопки додавання автомобіля. Логіка роботи методу наступна (код представлений на лістингу 3.1.3.6):
Спочатку викликається вікно додавання автомобіля. У класі вікна додавання автомобіля описаний метод, який реагує на натискання кнопок цього вікна (Додати, Зберегти, Прикріпити покупця/тимчасового власника). Якщо у вікні додавання автомобіля була натиснута кнопка "Додати", буде заповнена тимчасова змінна, в якій буде зберігається введена інформація (див. лістинг 3.1.3.7). Ця змінна видна в класі основного вікна бази та її значення переноситься в таблицю даних про автомобілі. Далі здійснюється додавання автомобіля в структуру ListAuto (типу List ) і серіалізация даної структури. У разі натискання кнопки "Прикріпити покупця/тимчасового власника" викличеться вікно додавання клієнта. Інформація про який так само буде записана по натисканні кнопки "Додати" в тимчасову змінну, видиму в класі головного вікна і виведена у відповідну таблицю (таблицю клієнтів), а так само серіалізовані. Якщо ж дані від такому клієнті вже присутні, то в таблицю клієнтів вони ще раз не потраплять, але буде заповнено відповідне поле бази автомобілів (власник). br/>
Лістинг 3.1.3.6 - Метод додавання автомобіля в таблицю
publicvoidAutosalonButtonAddAuto_Click (object sender, EventArgs e)
{
AutoWindowAddautowindowadd = newAutoWindowAdd ();
autowindowadd. ShowDialog (); (AutoWindowAdd. tmpauto! = Null)
{. ListAuto. Add (AutoWindowAdd. tmpauto);. Rows. Add (AutoWindowAdd. tmpauto. GetName (),. Tmpauto. GetModel (),. Tmpauto. GetYear (),. Tmpauto. GetEngineType (),. Tmpauto. GetEngineVolume (),. Tmpauto. GetDrive (),. Tmpauto. GetTransmission ( ),. tmpauto. getColour (),. tmpauto. getGuaranteeTime (),. tmpauto. getComeData (),. tmpauto. getSaleData (),. tmpauto. getIsHire (),. tmpauto. getIsIt (),. tmpauto. getHireCost () ,. tmpauto. getCost (),. owner); ((AutoWindowAdd. flagaddklient == 1) && (KlientWindowAdd. tmpklient! = null))
{. flagaddklient = 0;. Rows. Add (KlientWindowAdd. tmpklient. GetLastName (), KlientWindowAdd. Tmpklient. GetFirstName (),. Tmpklient. getPatr...