AdminForm.cs 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Data.SqlClient;
  11. namespace ARM_spec_otdelenia
  12. {
  13. public partial class AdminForm : Form
  14. {
  15. SqlConnection connection;
  16. SqlCommand command;
  17. SqlDataAdapter adapter;
  18. bool current;
  19. public AdminForm()
  20. {
  21. InitializeComponent();
  22. connection = new SqlConnection("Server=DESKTOP-2UUHBK8\\SQLEXPRESS; Database=Спец_отделение; Trusted_connection=true;");
  23. command = new SqlCommand();
  24. command.Connection = connection;
  25. command.CommandType = CommandType.Text;
  26. adapter = new SqlDataAdapter(command);
  27. addBtn.Visible = false;
  28. delBtn.Visible = false;
  29. changeBtn.Visible = false;
  30. current = false;
  31. }
  32. public void ShowTable(string text)
  33. {
  34. AdminGrid.Columns.Clear();
  35. AdminGrid.DataSource = null;
  36. command.CommandText = text;
  37. var table = new DataTable();
  38. adapter.Fill(table);
  39. AdminGrid.DataSource = table;
  40. }
  41. private void exitBtn_Click(object sender, EventArgs e)
  42. {
  43. this.Close();
  44. var author = new Authorization();
  45. author.Show();
  46. }
  47. private void accBtn_Click(object sender, EventArgs e)
  48. {
  49. clientBtn.Enabled = true;
  50. accBtn.Enabled = false;
  51. zdorBtn.Enabled = true;
  52. contactBtn.Enabled = true;
  53. lichnBtn.Enabled = true;
  54. socpolBtn.Enabled = true;
  55. uslugiBtn.Enabled = true;
  56. homeBtn.Enabled = true;
  57. addBtn.Visible = true;
  58. delBtn.Visible = true;
  59. changeBtn.Visible = true;
  60. ShowTable("SELECT * FROM Пользователи");
  61. AdminGrid.Rows[0].Selected = false;
  62. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  63. }
  64. private void zdorBtn_Click(object sender, EventArgs e)
  65. {
  66. clientBtn.Enabled = true;
  67. accBtn.Enabled = true;
  68. zdorBtn.Enabled = false;
  69. contactBtn.Enabled = true;
  70. lichnBtn.Enabled = true;
  71. socpolBtn.Enabled = true;
  72. uslugiBtn.Enabled = true;
  73. homeBtn.Enabled = true;
  74. addBtn.Visible = true;
  75. delBtn.Visible = true;
  76. changeBtn.Visible = true;
  77. ShowTable("SELECT * FROM Здоровье");
  78. AdminGrid.Rows[0].Selected = false;
  79. AdminGrid.Columns["ID"].Visible = false;
  80. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  81. }
  82. private void contactBtn_Click(object sender, EventArgs e)
  83. {
  84. clientBtn.Enabled = true;
  85. accBtn.Enabled = true;
  86. zdorBtn.Enabled = true;
  87. contactBtn.Enabled = false;
  88. lichnBtn.Enabled = true;
  89. socpolBtn.Enabled = true;
  90. uslugiBtn.Enabled = true;
  91. homeBtn.Enabled = true;
  92. addBtn.Visible = true;
  93. delBtn.Visible = true;
  94. changeBtn.Visible = true;
  95. ShowTable("SELECT * FROM Контакты");
  96. AdminGrid.Rows[0].Selected = false;
  97. AdminGrid.Columns["ID"].Visible = false;
  98. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  99. }
  100. private void lichnBtn_Click(object sender, EventArgs e)
  101. {
  102. clientBtn.Enabled = true;
  103. accBtn.Enabled = true;
  104. zdorBtn.Enabled = true;
  105. contactBtn.Enabled = true;
  106. lichnBtn.Enabled = false;
  107. socpolBtn.Enabled = true;
  108. uslugiBtn.Enabled = true;
  109. homeBtn.Enabled = true;
  110. addBtn.Visible = true;
  111. delBtn.Visible = true;
  112. changeBtn.Visible = true;
  113. ShowTable("SELECT * FROM Личные_данные");
  114. AdminGrid.Rows[0].Selected = false;
  115. AdminGrid.Columns["ID"].Visible = false;
  116. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  117. }
  118. private void socpolBtn_Click(object sender, EventArgs e)
  119. {
  120. clientBtn.Enabled = true;
  121. accBtn.Enabled = true;
  122. zdorBtn.Enabled = true;
  123. contactBtn.Enabled = true;
  124. lichnBtn.Enabled = true;
  125. socpolBtn.Enabled = false;
  126. uslugiBtn.Enabled = true;
  127. homeBtn.Enabled = true;
  128. addBtn.Visible = true;
  129. delBtn.Visible = true;
  130. changeBtn.Visible = true;
  131. ShowTable("SELECT * FROM Социальное_положение");
  132. AdminGrid.Columns["Доход"].DefaultCellStyle.Format = "N2";
  133. AdminGrid.Rows[0].Selected = false;
  134. AdminGrid.Columns["ID"].Visible = false;
  135. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  136. }
  137. private void uslugiBtn_Click(object sender, EventArgs e)
  138. {
  139. clientBtn.Enabled = true;
  140. accBtn.Enabled = true;
  141. zdorBtn.Enabled = true;
  142. contactBtn.Enabled = true;
  143. lichnBtn.Enabled = true;
  144. socpolBtn.Enabled = true;
  145. uslugiBtn.Enabled = false;
  146. homeBtn.Enabled = true;
  147. addBtn.Visible = true;
  148. delBtn.Visible = true;
  149. changeBtn.Visible = true;
  150. ShowTable("SELECT * FROM Услуги");
  151. AdminGrid.Columns["Стоимость"].DefaultCellStyle.Format = "N2";
  152. AdminGrid.Rows[0].Selected = false;
  153. AdminGrid.Columns["ID"].Visible = false;
  154. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  155. }
  156. private void homeBtn_Click(object sender, EventArgs e)
  157. {
  158. accBtn.Enabled = true;
  159. zdorBtn.Enabled = true;
  160. contactBtn.Enabled = true;
  161. lichnBtn.Enabled = true;
  162. socpolBtn.Enabled = true;
  163. uslugiBtn.Enabled = true;
  164. homeBtn.Enabled = false;
  165. addBtn.Visible = true;
  166. delBtn.Visible = true;
  167. changeBtn.Visible = true;
  168. ShowTable("SELECT * FROM На_дом");
  169. AdminGrid.Rows[0].Selected = false;
  170. PaintRows();
  171. AdminGrid.Columns["Завершена"].Visible = false;
  172. AdminGrid.Columns["ID"].Visible = false;
  173. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  174. }
  175. private void addBtn_Click(object sender, EventArgs e)
  176. {
  177. if (accBtn.Enabled == false)
  178. {
  179. UsersClass.add = true;
  180. var add = new AddUser();
  181. add.ShowDialog();
  182. ShowTable("SELECT * FROM Пользователи");
  183. UsersClass.add = false;
  184. }
  185. if (zdorBtn.Enabled == false)
  186. {
  187. ZdorovieClass.add = true;
  188. var add = new AddEditZdor();
  189. add.ShowDialog();
  190. ShowTable("SELECT * FROM Здоровье");
  191. AdminGrid.Columns["ID"].Visible = false;
  192. ZdorovieClass.add = false;
  193. }
  194. if (contactBtn.Enabled == false)
  195. {
  196. ContactiClass.add= true;
  197. var add = new AddEditContact();
  198. add.ShowDialog();
  199. ShowTable("SELECT * FROM Контакты");
  200. AdminGrid.Columns["ID"].Visible = false;
  201. ContactiClass.add = false;
  202. }
  203. if (lichnBtn.Enabled == false)
  204. {
  205. LichnoeClass.add = true;
  206. var add = new AddEditLichnoe();
  207. add.ShowDialog();
  208. ShowTable("SELECT * FROM Личные_данные");
  209. AdminGrid.Columns["ID"].Visible = false;
  210. LichnoeClass.add = false;
  211. }
  212. if (socpolBtn.Enabled == false)
  213. {
  214. SocpolClass.add = true;
  215. var add = new AddEditSocPol();
  216. add.ShowDialog();
  217. ShowTable("SELECT * FROM Социальное_положение");
  218. AdminGrid.Columns["Доход"].DefaultCellStyle.Format = "N2";
  219. AdminGrid.Columns["ID"].Visible = false;
  220. SocpolClass.add = false;
  221. }
  222. if (uslugiBtn.Enabled == false)
  223. {
  224. UslugiClass.add = true;
  225. var add = new AddEditUslugi();
  226. add.ShowDialog();
  227. ShowTable("SELECT * FROM Услуги");
  228. AdminGrid.Columns["Стоимость"].DefaultCellStyle.Format = "N2";
  229. AdminGrid.Columns["ID"].Visible = false;
  230. UslugiClass.add = false;
  231. }
  232. if (homeBtn.Enabled == false)
  233. {
  234. HomeClass.add = true;
  235. var add = new AddEditHome();
  236. add.ShowDialog();
  237. ShowTable("SELECT * FROM На_дом");
  238. AdminGrid.Columns["ID"].Visible = false;
  239. PaintRows();
  240. AdminGrid.Columns["Завершена"].Visible = false;
  241. HomeClass.add = false;
  242. }
  243. if (clientBtn.Enabled == false)
  244. {
  245. ClientClass.add = true;
  246. var add = new AddEditClient();
  247. add.ShowDialog();
  248. ShowTable("SELECT Клиенты.ID, Личные_данные.ID AS ID_Фам, Личные_данные.Фамилия, Личные_данные.Имя, Личные_данные.Отчество, Личные_данные.Пол, Личные_данные.Возраст, Контакты.ID AS ID_Кон, Контакты.Телефон, Социальное_положение.ID AS ID_Соц, Социальное_положение.Место_работы, Услуги.ID AS ID_Усл, Услуги.Наименование_услуги, Здоровье.ID AS ID_Здо, Здоровье.Трудоспособность, Здоровье.Заболевание, На_дом.ID AS ID_Над, На_дом.ФИО_соц_работника , На_дом.Время_записи, На_дом.Завершена FROM Клиенты INNER JOIN Личные_данные ON Клиенты.Личные_данные = Личные_данные.ID INNER JOIN Контакты ON Клиенты.Контакты = Контакты.ID INNER JOIN Услуги ON Клиенты.Услуги = Услуги.ID INNER JOIN Здоровье ON Клиенты.Здоровье = Здоровье.ID INNER JOIN На_дом ON Клиенты.На_дом = На_дом.ID INNER JOIN Социальное_положение ON Клиенты.Соц_положение = Социальное_положение.ID");
  249. AdminGrid.Columns["Завершена"].Visible = false;
  250. AdminGrid.Columns["ID"].Visible = false;
  251. AdminGrid.Columns["ID_Фам"].Visible = false;
  252. AdminGrid.Columns["ID_Кон"].Visible = false;
  253. AdminGrid.Columns["ID_Соц"].Visible = false;
  254. AdminGrid.Columns["ID_Усл"].Visible = false;
  255. AdminGrid.Columns["ID_Здо"].Visible = false;
  256. AdminGrid.Columns["ID_Над"].Visible = false;
  257. PaintRows();
  258. ClientClass.add = false;
  259. }
  260. AdminGrid.Rows[0].Selected = false;
  261. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  262. }
  263. public void PaintRows()
  264. {
  265. foreach (DataGridViewRow row in AdminGrid.Rows)
  266. {
  267. try
  268. {
  269. if ((bool)row.Cells["Завершена"].Value == true)
  270. row.DefaultCellStyle.BackColor = Color.FromArgb(192, 255, 192);
  271. else
  272. row.DefaultCellStyle.BackColor = Color.FromArgb(255, 255, 192);
  273. }
  274. catch
  275. {
  276. }
  277. }
  278. }
  279. private void delBtn_Click(object sender, EventArgs e)
  280. {
  281. if (accBtn.Enabled == false)
  282. {
  283. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  284. {
  285. if (AdminGrid.Rows[i].Selected == true)
  286. {
  287. current = true;
  288. break;
  289. }
  290. else
  291. {
  292. }
  293. }
  294. if (current == true)
  295. {
  296. if (MessageBox.Show("Вы действительно хотите удалить пользователя?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  297. {
  298. if ((string)AdminGrid.CurrentRow.Cells["Логин"].Value == "Admin")
  299. {
  300. MessageBox.Show("Невозможно удалить этого пользователя!");
  301. return;
  302. }
  303. else
  304. {
  305. try
  306. {
  307. connection.Open();
  308. command.CommandText = "DELETE FROM Пользователи WHERE Логин = @log";
  309. command.Parameters.AddWithValue("@log", (string)AdminGrid.CurrentRow.Cells["Логин"].Value);
  310. command.ExecuteReader();
  311. command.Parameters.Clear();
  312. connection.Close();
  313. MessageBox.Show("Пользователь успешно удален!");
  314. }
  315. catch (Exception ex)
  316. {
  317. MessageBox.Show(ex.Message);
  318. command.Parameters.Clear();
  319. connection.Close();
  320. }
  321. }
  322. }
  323. else
  324. {
  325. }
  326. }
  327. else
  328. {
  329. MessageBox.Show("Выберите строку!");
  330. return;
  331. }
  332. ShowTable("SELECT * FROM Пользователи");
  333. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  334. {
  335. AdminGrid.Rows[i].Selected = false;
  336. }
  337. AdminGrid.Rows[0].Selected = false;
  338. current = false;
  339. }
  340. if (zdorBtn.Enabled == false)
  341. {
  342. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  343. {
  344. if (AdminGrid.Rows[i].Selected == true)
  345. {
  346. current = true;
  347. break;
  348. }
  349. else
  350. {
  351. }
  352. }
  353. if (current == true)
  354. {
  355. if (MessageBox.Show("Вы действительно хотите удалить запись?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  356. {
  357. try
  358. {
  359. connection.Open();
  360. command.CommandText = "DELETE FROM Здоровье WHERE ID = @id";
  361. command.Parameters.AddWithValue("@id", AdminGrid.CurrentRow.Cells["ID"].Value);
  362. command.ExecuteReader();
  363. command.Parameters.Clear();
  364. connection.Close();
  365. MessageBox.Show("Запись успешно удалена!");
  366. }
  367. catch
  368. {
  369. MessageBox.Show("Запись используется в другой таблице!");
  370. command.Parameters.Clear();
  371. connection.Close();
  372. }
  373. }
  374. else
  375. {
  376. }
  377. }
  378. else
  379. {
  380. MessageBox.Show("Выберите строку!");
  381. return;
  382. }
  383. ShowTable("SELECT * FROM Здоровье");
  384. AdminGrid.Columns["ID"].Visible = false;
  385. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  386. {
  387. AdminGrid.Rows[i].Selected = false;
  388. }
  389. AdminGrid.Rows[0].Selected = false;
  390. current = false;
  391. }
  392. if (contactBtn.Enabled == false)
  393. {
  394. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  395. {
  396. if (AdminGrid.Rows[i].Selected == true)
  397. {
  398. current = true;
  399. break;
  400. }
  401. else
  402. {
  403. }
  404. }
  405. if (current == true)
  406. {
  407. if (MessageBox.Show("Вы действительно хотите удалить запись?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  408. {
  409. try
  410. {
  411. connection.Open();
  412. command.CommandText = "DELETE FROM Контакты WHERE ID = @id";
  413. command.Parameters.AddWithValue("@id", AdminGrid.CurrentRow.Cells["ID"].Value);
  414. command.ExecuteReader();
  415. command.Parameters.Clear();
  416. connection.Close();
  417. MessageBox.Show("Запись успешно удалена!");
  418. }
  419. catch
  420. {
  421. MessageBox.Show("Запись используется в другой таблице!");
  422. command.Parameters.Clear();
  423. connection.Close();
  424. }
  425. }
  426. else
  427. {
  428. }
  429. }
  430. else
  431. {
  432. MessageBox.Show("Выберите строку!");
  433. return;
  434. }
  435. ShowTable("SELECT * FROM Контакты");
  436. AdminGrid.Columns["ID"].Visible = false;
  437. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  438. {
  439. AdminGrid.Rows[i].Selected = false;
  440. }
  441. AdminGrid.Rows[0].Selected = false;
  442. current = false;
  443. }
  444. if (lichnBtn.Enabled == false)
  445. {
  446. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  447. {
  448. if (AdminGrid.Rows[i].Selected == true)
  449. {
  450. current = true;
  451. break;
  452. }
  453. else
  454. {
  455. }
  456. }
  457. if (current == true)
  458. {
  459. if (MessageBox.Show("Вы действительно хотите удалить запись?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  460. {
  461. try
  462. {
  463. connection.Open();
  464. command.CommandText = "DELETE FROM Личные_данные WHERE ID = @id";
  465. command.Parameters.AddWithValue("@id", AdminGrid.CurrentRow.Cells["ID"].Value);
  466. command.ExecuteReader();
  467. command.Parameters.Clear();
  468. connection.Close();
  469. MessageBox.Show("Запись успешно удалена!");
  470. }
  471. catch
  472. {
  473. MessageBox.Show("Запись используется в другой таблице!");
  474. command.Parameters.Clear();
  475. connection.Close();
  476. }
  477. }
  478. else
  479. {
  480. }
  481. }
  482. else
  483. {
  484. MessageBox.Show("Выберите строку!");
  485. return;
  486. }
  487. ShowTable("SELECT * FROM Личные_данные");
  488. AdminGrid.Columns["ID"].Visible = false;
  489. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  490. {
  491. AdminGrid.Rows[i].Selected = false;
  492. }
  493. AdminGrid.Rows[0].Selected = false;
  494. current = false;
  495. }
  496. if (socpolBtn.Enabled == false)
  497. {
  498. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  499. {
  500. if (AdminGrid.Rows[i].Selected == true)
  501. {
  502. current = true;
  503. break;
  504. }
  505. else
  506. {
  507. }
  508. }
  509. if (current == true)
  510. {
  511. if (MessageBox.Show("Вы действительно хотите удалить запись?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  512. {
  513. try
  514. {
  515. connection.Open();
  516. command.CommandText = "DELETE FROM Социальное_положение WHERE ID = @id";
  517. command.Parameters.AddWithValue("@id", AdminGrid.CurrentRow.Cells["ID"].Value);
  518. command.ExecuteReader();
  519. command.Parameters.Clear();
  520. connection.Close();
  521. MessageBox.Show("Запись успешно удалена!");
  522. }
  523. catch
  524. {
  525. MessageBox.Show("Запись используется в другой таблице!");
  526. command.Parameters.Clear();
  527. connection.Close();
  528. }
  529. }
  530. else
  531. {
  532. }
  533. }
  534. else
  535. {
  536. MessageBox.Show("Выберите строку!");
  537. return;
  538. }
  539. ShowTable("SELECT * FROM Социальное_положение");
  540. AdminGrid.Columns["Доход"].DefaultCellStyle.Format = "N2";
  541. AdminGrid.Columns["ID"].Visible = false;
  542. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  543. {
  544. AdminGrid.Rows[i].Selected = false;
  545. }
  546. AdminGrid.Rows[0].Selected = false;
  547. current = false;
  548. }
  549. if (uslugiBtn.Enabled == false)
  550. {
  551. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  552. {
  553. if (AdminGrid.Rows[i].Selected == true)
  554. {
  555. current = true;
  556. break;
  557. }
  558. else
  559. {
  560. }
  561. }
  562. if (current == true)
  563. {
  564. if (MessageBox.Show("Вы действительно хотите удалить запись?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  565. {
  566. try
  567. {
  568. connection.Open();
  569. command.CommandText = "DELETE FROM Услуги WHERE ID = @id";
  570. command.Parameters.AddWithValue("@id", AdminGrid.CurrentRow.Cells["ID"].Value);
  571. command.ExecuteReader();
  572. command.Parameters.Clear();
  573. connection.Close();
  574. MessageBox.Show("Запись успешно удалена!");
  575. }
  576. catch
  577. {
  578. MessageBox.Show("Запись используется в другой таблице!");
  579. command.Parameters.Clear();
  580. connection.Close();
  581. }
  582. }
  583. else
  584. {
  585. }
  586. }
  587. else
  588. {
  589. MessageBox.Show("Выберите строку!");
  590. return;
  591. }
  592. ShowTable("SELECT * FROM Услуги");
  593. AdminGrid.Columns["Стоимость"].DefaultCellStyle.Format = "N2";
  594. AdminGrid.Columns["ID"].Visible = false;
  595. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  596. {
  597. AdminGrid.Rows[i].Selected = false;
  598. }
  599. AdminGrid.Rows[0].Selected = false;
  600. current = false;
  601. }
  602. if (homeBtn.Enabled == false)
  603. {
  604. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  605. {
  606. if (AdminGrid.Rows[i].Selected == true)
  607. {
  608. current = true;
  609. break;
  610. }
  611. else
  612. {
  613. }
  614. }
  615. if (current == true)
  616. {
  617. if (MessageBox.Show("Вы действительно хотите удалить запись?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  618. {
  619. try
  620. {
  621. connection.Open();
  622. command.CommandText = "DELETE FROM На_дом WHERE ID = @id";
  623. command.Parameters.AddWithValue("@id", AdminGrid.CurrentRow.Cells["ID"].Value);
  624. command.ExecuteReader();
  625. command.Parameters.Clear();
  626. connection.Close();
  627. MessageBox.Show("Запись успешно удалена!");
  628. }
  629. catch
  630. {
  631. MessageBox.Show("Запись используется в другой таблице!");
  632. command.Parameters.Clear();
  633. connection.Close();
  634. }
  635. }
  636. else
  637. {
  638. }
  639. }
  640. else
  641. {
  642. MessageBox.Show("Выберите строку!");
  643. return;
  644. }
  645. ShowTable("SELECT * FROM На_дом");
  646. PaintRows();
  647. AdminGrid.Columns["ID"].Visible = false;
  648. AdminGrid.Columns["Завершена"].Visible = false;
  649. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  650. {
  651. AdminGrid.Rows[i].Selected = false;
  652. }
  653. AdminGrid.Rows[0].Selected = false;
  654. current = false;
  655. }
  656. if (clientBtn.Enabled == false)
  657. {
  658. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  659. {
  660. if (AdminGrid.Rows[i].Selected == true)
  661. {
  662. current = true;
  663. break;
  664. }
  665. else
  666. {
  667. }
  668. }
  669. if (current == true)
  670. {
  671. if (MessageBox.Show("Вы действительно хотите удалить запись?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  672. {
  673. try
  674. {
  675. connection.Open();
  676. command.CommandText = "DELETE FROM Клиенты WHERE ID = @id";
  677. command.Parameters.AddWithValue("@id", AdminGrid.CurrentRow.Cells["ID"].Value);
  678. command.ExecuteReader();
  679. command.Parameters.Clear();
  680. connection.Close();
  681. MessageBox.Show("Запись успешно удалена!");
  682. }
  683. catch(Exception ex)
  684. {
  685. MessageBox.Show(ex.Message);
  686. }
  687. }
  688. else
  689. {
  690. }
  691. }
  692. else
  693. {
  694. MessageBox.Show("Выберите строку!");
  695. return;
  696. }
  697. ShowTable("SELECT Клиенты.ID, Личные_данные.ID AS ID_Фам, Личные_данные.Фамилия, Личные_данные.Имя, Личные_данные.Отчество, Личные_данные.Пол, Личные_данные.Возраст, Контакты.ID AS ID_Кон, Контакты.Телефон, Социальное_положение.ID AS ID_Соц, Социальное_положение.Место_работы, Услуги.ID AS ID_Усл, Услуги.Наименование_услуги, Здоровье.ID AS ID_Здо, Здоровье.Трудоспособность, Здоровье.Заболевание, На_дом.ID AS ID_Над, На_дом.ФИО_соц_работника , На_дом.Время_записи, На_дом.Завершена FROM Клиенты INNER JOIN Личные_данные ON Клиенты.Личные_данные = Личные_данные.ID INNER JOIN Контакты ON Клиенты.Контакты = Контакты.ID INNER JOIN Услуги ON Клиенты.Услуги = Услуги.ID INNER JOIN Здоровье ON Клиенты.Здоровье = Здоровье.ID INNER JOIN На_дом ON Клиенты.На_дом = На_дом.ID INNER JOIN Социальное_положение ON Клиенты.Соц_положение = Социальное_положение.ID");
  698. AdminGrid.Columns["Завершена"].Visible = false;
  699. AdminGrid.Columns["ID"].Visible = false;
  700. AdminGrid.Columns["ID_Фам"].Visible = false;
  701. AdminGrid.Columns["ID_Кон"].Visible = false;
  702. AdminGrid.Columns["ID_Соц"].Visible = false;
  703. AdminGrid.Columns["ID_Усл"].Visible = false;
  704. AdminGrid.Columns["ID_Здо"].Visible = false;
  705. AdminGrid.Columns["ID_Над"].Visible = false;
  706. PaintRows();
  707. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  708. {
  709. AdminGrid.Rows[i].Selected = false;
  710. }
  711. AdminGrid.Rows[0].Selected = false;
  712. current = false;
  713. }
  714. }
  715. public void changeBtn_Click(object sender, EventArgs e)
  716. {
  717. if (accBtn.Enabled == false)
  718. {
  719. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  720. {
  721. if (AdminGrid.Rows[i].Selected == true)
  722. {
  723. current = true;
  724. break;
  725. }
  726. else
  727. {
  728. }
  729. }
  730. if (current == true)
  731. {
  732. UsersClass.change = true;
  733. UsersClass.login = (string)AdminGrid.CurrentRow.Cells["Логин"].Value;
  734. UsersClass.password = (string)AdminGrid.CurrentRow.Cells["Пароль"].Value;
  735. UsersClass.mail = (string)AdminGrid.CurrentRow.Cells["Почта"].Value;
  736. var change = new AddUser();
  737. change.logText.Text = UsersClass.login;
  738. change.pasText.Text = UsersClass.password;
  739. change.mailText.Text = UsersClass.mail;
  740. change.ShowDialog();
  741. ShowTable("SELECT * FROM Пользователи");
  742. UsersClass.change = false;
  743. }
  744. else
  745. {
  746. MessageBox.Show("Выберите строку!");
  747. return;
  748. }
  749. }
  750. if (zdorBtn.Enabled == false)
  751. {
  752. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  753. {
  754. if (AdminGrid.Rows[i].Selected == true)
  755. {
  756. current = true;
  757. break;
  758. }
  759. else
  760. {
  761. }
  762. }
  763. if (current == true)
  764. {
  765. ZdorovieClass.change = true;
  766. ZdorovieClass.Заболевание = (string)AdminGrid.CurrentRow.Cells["Заболевание"].Value;
  767. ZdorovieClass.Трудоспособность = (string)AdminGrid.CurrentRow.Cells["Трудоспособность"].Value;
  768. ZdorovieClass.Лекарства = (string)AdminGrid.CurrentRow.Cells["Жизненноважные_лекарства"].Value;
  769. ZdorovieClass.id = (int)AdminGrid.CurrentRow.Cells["ID"].Value;
  770. var change = new AddEditZdor();
  771. change.zabolevanieText.Text = ZdorovieClass.Заболевание;
  772. change.trudosposobText.Text = ZdorovieClass.Трудоспособность;
  773. change.lekarstvaText.Text = ZdorovieClass.Лекарства;
  774. change.ShowDialog();
  775. ShowTable("SELECT * FROM Здоровье");
  776. AdminGrid.Columns["ID"].Visible = false;
  777. ZdorovieClass.change = false;
  778. }
  779. else
  780. {
  781. MessageBox.Show("Выберите строку!");
  782. return;
  783. }
  784. }
  785. if (contactBtn.Enabled == false)
  786. {
  787. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  788. {
  789. if (AdminGrid.Rows[i].Selected == true)
  790. {
  791. current = true;
  792. break;
  793. }
  794. else
  795. {
  796. }
  797. }
  798. if (current == true)
  799. {
  800. ContactiClass.change = true;
  801. ContactiClass.Город = (string)AdminGrid.CurrentRow.Cells["Город"].Value;
  802. ContactiClass.Улица = (string)AdminGrid.CurrentRow.Cells["Улица"].Value;
  803. ContactiClass.Дом = (int)AdminGrid.CurrentRow.Cells["Дом"].Value;
  804. ContactiClass.Квартира = (int)AdminGrid.CurrentRow.Cells["Квартира"].Value;
  805. ContactiClass.Телефон = (string)AdminGrid.CurrentRow.Cells["Телефон"].Value;
  806. ContactiClass.id = (int)AdminGrid.CurrentRow.Cells["ID"].Value;
  807. var change = new AddEditContact();
  808. change.gorodText.Text = ContactiClass.Город;
  809. change.ulicaText.Text = ContactiClass.Улица;
  810. change.domText.Text = ContactiClass.Дом.ToString();
  811. change.kvartiraText.Text = ContactiClass.Квартира.ToString();
  812. change.teleText.Text = ContactiClass.Телефон;
  813. change.ShowDialog();
  814. ShowTable("SELECT * FROM Контакты");
  815. AdminGrid.Columns["ID"].Visible = false;
  816. ContactiClass.change = false;
  817. }
  818. else
  819. {
  820. MessageBox.Show("Выберите строку!");
  821. return;
  822. }
  823. }
  824. if (lichnBtn.Enabled == false)
  825. {
  826. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  827. {
  828. if (AdminGrid.Rows[i].Selected == true)
  829. {
  830. current = true;
  831. break;
  832. }
  833. else
  834. {
  835. }
  836. }
  837. if (current == true)
  838. {
  839. LichnoeClass.change = true;
  840. LichnoeClass.Фамилия = (string)AdminGrid.CurrentRow.Cells["Фамилия"].Value;
  841. LichnoeClass.Имя = (string)AdminGrid.CurrentRow.Cells["Имя"].Value;
  842. LichnoeClass.Отчество = (string)AdminGrid.CurrentRow.Cells["Отчество"].Value;
  843. LichnoeClass.Возраст = (int)AdminGrid.CurrentRow.Cells["Возраст"].Value;
  844. LichnoeClass.Пол = (string)AdminGrid.CurrentRow.Cells["Пол"].Value;
  845. LichnoeClass.id = (int)AdminGrid.CurrentRow.Cells["ID"].Value;
  846. var change = new AddEditLichnoe();
  847. change.surnameText.Text = LichnoeClass.Фамилия;
  848. change.nameText.Text = LichnoeClass.Имя;
  849. change.otchText.Text = LichnoeClass.Отчество;
  850. change.ageText.Text = LichnoeClass.Возраст.ToString();
  851. change.polText.Text = LichnoeClass.Пол;
  852. change.ShowDialog();
  853. ShowTable("SELECT * FROM Личные_данные");
  854. AdminGrid.Columns["ID"].Visible = false;
  855. LichnoeClass.change = false;
  856. }
  857. else
  858. {
  859. MessageBox.Show("Выберите строку!");
  860. return;
  861. }
  862. }
  863. if (socpolBtn.Enabled == false)
  864. {
  865. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  866. {
  867. if (AdminGrid.Rows[i].Selected == true)
  868. {
  869. current = true;
  870. break;
  871. }
  872. else
  873. {
  874. }
  875. }
  876. if (current == true)
  877. {
  878. SocpolClass.change = true;
  879. SocpolClass.Место_работы = (string)AdminGrid.CurrentRow.Cells["Место_работы"].Value;
  880. SocpolClass.Доход = (decimal)AdminGrid.CurrentRow.Cells["Доход"].Value;
  881. SocpolClass.Дети = (int)AdminGrid.CurrentRow.Cells["Количество_детей"].Value;
  882. SocpolClass.Состав_семьи = (string)AdminGrid.CurrentRow.Cells["Состав_семьи"].Value;
  883. SocpolClass.ЧС = (string)AdminGrid.CurrentRow.Cells["Наличие_ЧС"].Value;
  884. SocpolClass.id = (int)AdminGrid.CurrentRow.Cells["ID"].Value;
  885. var change = new AddEditSocPol();
  886. change.workText.Text = SocpolClass.Место_работы;
  887. change.cashText.Text = SocpolClass.Доход.ToString("0.00");
  888. change.babyText.Text = SocpolClass.Дети.ToString();
  889. change.familyText.Text = SocpolClass.Состав_семьи;
  890. change.chsText.Text = SocpolClass.ЧС;
  891. change.ShowDialog();
  892. ShowTable("SELECT * FROM Социальное_положение");
  893. AdminGrid.Columns["Доход"].DefaultCellStyle.Format = "N2";
  894. AdminGrid.Columns["ID"].Visible = false;
  895. SocpolClass.change = false;
  896. }
  897. else
  898. {
  899. MessageBox.Show("Выберите строку!");
  900. return;
  901. }
  902. }
  903. if (uslugiBtn.Enabled == false)
  904. {
  905. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  906. {
  907. if (AdminGrid.Rows[i].Selected == true)
  908. {
  909. current = true;
  910. break;
  911. }
  912. else
  913. {
  914. }
  915. }
  916. if (current == true)
  917. {
  918. UslugiClass.change = true;
  919. UslugiClass.Наименование = (string)AdminGrid.CurrentRow.Cells["Наименование_услуги"].Value;
  920. UslugiClass.Стоимость = (decimal)AdminGrid.CurrentRow.Cells["Стоимость"].Value;
  921. UslugiClass.id = (int)AdminGrid.CurrentRow.Cells["ID"].Value;
  922. var change = new AddEditUslugi();
  923. change.nameText.Text = UslugiClass.Наименование;
  924. change.priceText.Text = UslugiClass.Стоимость.ToString("0.00");
  925. change.ShowDialog();
  926. ShowTable("SELECT * FROM Услуги");
  927. AdminGrid.Columns["Стоимость"].DefaultCellStyle.Format = "N2";
  928. AdminGrid.Columns["ID"].Visible = false;
  929. UslugiClass.change = false;
  930. }
  931. else
  932. {
  933. MessageBox.Show("Выберите строку!");
  934. return;
  935. }
  936. }
  937. if (homeBtn.Enabled == false)
  938. {
  939. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  940. {
  941. if (AdminGrid.Rows[i].Selected == true)
  942. {
  943. current = true;
  944. break;
  945. }
  946. else
  947. {
  948. }
  949. }
  950. if (current == true)
  951. {
  952. HomeClass.change = true;
  953. var timezap = AdminGrid.CurrentRow.Cells["Время_записи"].Value;
  954. var timenach = AdminGrid.CurrentRow.Cells["Начало_работы"].Value;
  955. var timekon = AdminGrid.CurrentRow.Cells["Конец"].Value;
  956. if (string.IsNullOrEmpty(timekon.ToString()))
  957. {
  958. HomeClass.Конец = null;
  959. }
  960. else
  961. {
  962. HomeClass.Конец = timekon.ToString();
  963. }
  964. HomeClass.ФИО = (string)AdminGrid.CurrentRow.Cells["ФИО_соц_работника"].Value;
  965. HomeClass.Запись = timezap.ToString();
  966. HomeClass.Начало = timenach.ToString();
  967. HomeClass.id = (int)AdminGrid.CurrentRow.Cells["ID"].Value;
  968. var change = new AddEditHome();
  969. change.fioText.Text = HomeClass.ФИО;
  970. change.timezapText.Text = HomeClass.Запись;
  971. change.timenachText.Text = HomeClass.Начало;
  972. change.timekonText.Text = HomeClass.Конец;
  973. change.ShowDialog();
  974. ShowTable("SELECT * FROM На_дом");
  975. AdminGrid.Columns["ID"].Visible = false;
  976. PaintRows();
  977. AdminGrid.Columns["Завершена"].Visible = false;
  978. HomeClass.change = false;
  979. }
  980. else
  981. {
  982. MessageBox.Show("Выберите строку!");
  983. return;
  984. }
  985. }
  986. if (clientBtn.Enabled == false)
  987. {
  988. for (int i = 0; i < AdminGrid.Rows.Count; i++)
  989. {
  990. if (AdminGrid.Rows[i].Selected == true)
  991. {
  992. current = true;
  993. break;
  994. }
  995. else
  996. {
  997. }
  998. }
  999. if (current == true)
  1000. {
  1001. ClientClass.change = true;
  1002. ClientClass.id = (int)AdminGrid.CurrentRow.Cells["ID"].Value;
  1003. ClientClass.Фамилия = (int)AdminGrid.CurrentRow.Cells["ID_Фам"].Value;
  1004. ClientClass.Имя = (int)AdminGrid.CurrentRow.Cells["ID_Фам"].Value;
  1005. ClientClass.Отчество = (int)AdminGrid.CurrentRow.Cells["ID_Фам"].Value;
  1006. ClientClass.Телефон = (int)AdminGrid.CurrentRow.Cells["ID_Кон"].Value;
  1007. ClientClass.Наименование_услуги = (int)AdminGrid.CurrentRow.Cells["ID_Усл"].Value;
  1008. ClientClass.Трудоспособность = (int)AdminGrid.CurrentRow.Cells["ID_Здо"].Value;
  1009. ClientClass.Заболевание = (int)AdminGrid.CurrentRow.Cells["ID_Здо"].Value;
  1010. ClientClass.Время_записи = (int)AdminGrid.CurrentRow.Cells["ID_Над"].Value;
  1011. ClientClass.Соц_работник = (int)AdminGrid.CurrentRow.Cells["ID_Над"].Value;
  1012. ClientClass.Место_работы = (int)AdminGrid.CurrentRow.Cells["ID_Соц"].Value;
  1013. var change = new AddEditClient();
  1014. change.ShowDialog();
  1015. ShowTable("SELECT Клиенты.ID, Личные_данные.ID AS ID_Фам, Личные_данные.Фамилия, Личные_данные.Имя, Личные_данные.Отчество, Личные_данные.Пол, Личные_данные.Возраст, Контакты.ID AS ID_Кон, Контакты.Телефон, Социальное_положение.ID AS ID_Соц, Социальное_положение.Место_работы, Услуги.ID AS ID_Усл, Услуги.Наименование_услуги, Здоровье.ID AS ID_Здо, Здоровье.Трудоспособность, Здоровье.Заболевание, На_дом.ID AS ID_Над, На_дом.ФИО_соц_работника , На_дом.Время_записи, На_дом.Завершена FROM Клиенты INNER JOIN Личные_данные ON Клиенты.Личные_данные = Личные_данные.ID INNER JOIN Контакты ON Клиенты.Контакты = Контакты.ID INNER JOIN Услуги ON Клиенты.Услуги = Услуги.ID INNER JOIN Здоровье ON Клиенты.Здоровье = Здоровье.ID INNER JOIN На_дом ON Клиенты.На_дом = На_дом.ID INNER JOIN Социальное_положение ON Клиенты.Соц_положение = Социальное_положение.ID");
  1016. AdminGrid.Columns["Завершена"].Visible = false;
  1017. AdminGrid.Columns["ID"].Visible = false;
  1018. AdminGrid.Columns["ID_Фам"].Visible = false;
  1019. AdminGrid.Columns["ID_Кон"].Visible = false;
  1020. AdminGrid.Columns["ID_Соц"].Visible = false;
  1021. AdminGrid.Columns["ID_Усл"].Visible = false;
  1022. AdminGrid.Columns["ID_Здо"].Visible = false;
  1023. AdminGrid.Columns["ID_Над"].Visible = false;
  1024. PaintRows();
  1025. ClientClass.change = false;
  1026. }
  1027. else
  1028. {
  1029. MessageBox.Show("Выберите строку!");
  1030. return;
  1031. }
  1032. }
  1033. current = false;
  1034. AdminGrid.Rows[0].Selected = false;
  1035. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  1036. }
  1037. private void clientBtn_Click(object sender, EventArgs e)
  1038. {
  1039. clientBtn.Enabled = false;
  1040. accBtn.Enabled = true;
  1041. zdorBtn.Enabled = true;
  1042. contactBtn.Enabled = true;
  1043. lichnBtn.Enabled = true;
  1044. socpolBtn.Enabled = true;
  1045. uslugiBtn.Enabled = true;
  1046. homeBtn.Enabled = true;
  1047. addBtn.Visible = true;
  1048. delBtn.Visible = true;
  1049. changeBtn.Visible = true;
  1050. ShowTable("SELECT Клиенты.ID, Личные_данные.ID AS ID_Фам, Личные_данные.Фамилия, Личные_данные.Имя, Личные_данные.Отчество, Личные_данные.Пол, Личные_данные.Возраст, Контакты.ID AS ID_Кон, Контакты.Телефон, Социальное_положение.ID AS ID_Соц, Социальное_положение.Место_работы, Услуги.ID AS ID_Усл, Услуги.Наименование_услуги, Здоровье.ID AS ID_Здо, Здоровье.Трудоспособность, Здоровье.Заболевание, На_дом.ID AS ID_Над, На_дом.ФИО_соц_работника , На_дом.Время_записи, На_дом.Завершена FROM Клиенты INNER JOIN Личные_данные ON Клиенты.Личные_данные = Личные_данные.ID INNER JOIN Контакты ON Клиенты.Контакты = Контакты.ID INNER JOIN Услуги ON Клиенты.Услуги = Услуги.ID INNER JOIN Здоровье ON Клиенты.Здоровье = Здоровье.ID INNER JOIN На_дом ON Клиенты.На_дом = На_дом.ID INNER JOIN Социальное_положение ON Клиенты.Соц_положение = Социальное_положение.ID");
  1051. AdminGrid.Columns["Завершена"].Visible = false;
  1052. AdminGrid.Columns["ID"].Visible = false;
  1053. AdminGrid.Columns["ID_Фам"].Visible = false;
  1054. AdminGrid.Columns["ID_Кон"].Visible = false;
  1055. AdminGrid.Columns["ID_Соц"].Visible = false;
  1056. AdminGrid.Columns["ID_Усл"].Visible = false;
  1057. AdminGrid.Columns["ID_Здо"].Visible = false;
  1058. AdminGrid.Columns["ID_Над"].Visible = false;
  1059. PaintRows();
  1060. AdminGrid.Rows[0].Selected = false;
  1061. AdminGrid.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
  1062. }
  1063. private void AdminForm_Load(object sender, EventArgs e)
  1064. {
  1065. }
  1066. }
  1067. }