PageRenderTime 71ms CodeModel.GetById 38ms RepoModel.GetById 1ms app.codeStats 0ms

/AutoSzkola/AutoSzkola/DataManager/KursManager.cs

https://bitbucket.org/wawrzek/autoszkola
C# | 1445 lines | 1260 code | 157 blank | 28 comment | 419 complexity | 75f859f701dd6af039069451ea59a84e MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows.Forms;
  6. using System.Data.SQLite;
  7. namespace EE4IT.AutoSzkola
  8. {
  9. public class KursManager : DbManager
  10. {
  11. #region KURSY
  12. /// <summary>
  13. /// Funkcja pobiera listę obiektów typu Kurs
  14. /// </summary>
  15. /// <param name="typKursuId">ID typu kursu dla którego wyciągana jest lista ustawień godzinowo kosztowych </param>
  16. /// <param name="_c">Jeżeli ten parametr ma wartość NULL wtedy connection zostanie stworzone</param>
  17. /// <returns>listę obiektów typu KursTypData zawierającą ustawienia godzinowo kosztowe danego typu kurs</returns>
  18. public List<Kurs> GetKursyListByUserId(long kursantId, SQLiteConnection _c)
  19. {
  20. List<Kurs> list = new List<Kurs>();
  21. bool ownConnection = false;
  22. SQLiteConnection c;
  23. if (_c == null)
  24. {
  25. c = GetConnection();
  26. ownConnection = false;
  27. }
  28. else
  29. {
  30. c = _c;
  31. ownConnection = true;
  32. }
  33. try
  34. {
  35. if (c.State != System.Data.ConnectionState.Open)
  36. c.Open();
  37. SQLiteCommand command = c.CreateCommand();
  38. command.CommandText = @"select id,kursantId,typKursuId,dataDodania,uzytkownikDodajacy,cena
  39. , rata1data,rata2data,rata3data,rata4data
  40. , rata1wpowadzajacyId, rata2wpowadzajacyId,rata3wpowadzajacyId,rata4wpowadzajacyId
  41. , rata1kwota,rata2kwota,rata3kwota,rata4kwota
  42. , aktywny
  43. , rata1gotowka,rata2gotowka,rata3gotowka,rata4gotowka
  44. , instruktorId, nrZaswiadczenia
  45. , rata5data,rata6data,rata7data,rata8data,rata9data,rata10data
  46. , rata5wpowadzajacyId, rata6wpowadzajacyId,rata7wpowadzajacyId,rata8wpowadzajacyId,rata9wpowadzajacyId,rata10wpowadzajacyId
  47. , rata5kwota,rata6kwota,rata7kwota,rata8kwota,rata9kwota,rata10kwota
  48. , rata5gotowka,rata6gotowka,rata7gotowka,rata8gotowka,rata9gotowka,rata10gotowka
  49. , w1_data, w1_osoba, w2_data, w2_osoba, w3_data, w3_osoba
  50. from Kurs where kursantId = " + kursantId;
  51. KursantManager km = new KursantManager();
  52. UserManager u = new UserManager();
  53. SQLiteDataReader reader = command.ExecuteReader();
  54. while (reader.Read())
  55. {
  56. Kurs k = new Kurs();
  57. k.Id = reader.GetInt64(0);
  58. k.KursantId = reader.GetInt64(1);
  59. k.TypKursu = GetTypKursuById(reader.GetInt64(2),c);
  60. k.DataDodania = reader.IsDBNull(3) || reader.GetString(3) == "" ? DateTime.MaxValue : reader.GetDateTime(3);
  61. k.UzytkownikDodajacy = u.GetUserById(reader.GetInt64(4),c);
  62. k.Cena = reader.GetDouble(5);
  63. k.Rata1Data = reader.IsDBNull(6) || reader.GetString(6) == "" ? DateTime.MaxValue : reader.GetDateTime(6);
  64. k.Rata2Data = reader.IsDBNull(7) || reader.GetString(7) == "" ? DateTime.MaxValue : reader.GetDateTime(7);
  65. k.Rata3Data = reader.IsDBNull(8) || reader.GetString(8) == "" ? DateTime.MaxValue : reader.GetDateTime(8);
  66. k.Rata4Data = reader.IsDBNull(9) || reader.GetString(9) == "" ? DateTime.MaxValue : reader.GetDateTime(9);
  67. k.Rata1Wprowadzajacy = u.GetUserById(reader.IsDBNull(10) ? 0 : reader.GetInt64(10),c);
  68. k.Rata2Wprowadzajacy = u.GetUserById(reader.IsDBNull(11) ? 0 : reader.GetInt64(11), c);
  69. k.Rata3Wprowadzajacy = u.GetUserById(reader.IsDBNull(12) ? 0 : reader.GetInt64(12), c);
  70. k.Rata4Wprowadzajacy = u.GetUserById(reader.IsDBNull(13) ? 0 : reader.GetInt64(13), c);
  71. k.Rata1Kwota = reader.IsDBNull(14) ? 0 : reader.GetDouble(14);
  72. k.Rata2Kwota = reader.IsDBNull(15) ? 0 : reader.GetDouble(15);
  73. k.Rata3Kwota = reader.IsDBNull(16) ? 0 : reader.GetDouble(16);
  74. k.Rata4Kwota = reader.IsDBNull(17) ? 0 : reader.GetDouble(17);
  75. k.Aktywny = reader.GetBoolean(18);
  76. k.Rata1Gotowka = reader.GetBoolean(19);
  77. k.Rata2Gotowka = reader.GetBoolean(20);
  78. k.Rata3Gotowka = reader.GetBoolean(21);
  79. k.Rata4Gotowka = reader.GetBoolean(22);
  80. long instruktorId = reader.IsDBNull(23) ? 0 : reader.GetInt64(23);
  81. InstruktorManager im = new InstruktorManager();
  82. k.Instruktor = im.GetInstruktorById(instruktorId,c);
  83. k.NumerZaswiadczenia = reader.IsDBNull(24) ? "" : reader.GetString(24);
  84. int i = 25;
  85. k.Rata5Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  86. i++; k.Rata6Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  87. i++; k.Rata7Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  88. i++; k.Rata8Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  89. i++; k.Rata9Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  90. i++; k.Rata10Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  91. i++; k.Rata5Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  92. i++; k.Rata6Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  93. i++; k.Rata7Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  94. i++; k.Rata8Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  95. i++; k.Rata9Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  96. i++; k.Rata10Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  97. i++; k.Rata5Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  98. i++; k.Rata6Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  99. i++; k.Rata7Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  100. i++; k.Rata8Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  101. i++; k.Rata9Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  102. i++; k.Rata10Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  103. i++; k.Rata5Gotowka = reader.GetBoolean(i);
  104. i++; k.Rata6Gotowka = reader.GetBoolean(i);
  105. i++; k.Rata7Gotowka = reader.GetBoolean(i);
  106. i++; k.Rata8Gotowka = reader.GetBoolean(i);
  107. i++; k.Rata9Gotowka = reader.GetBoolean(i);
  108. i++; k.Rata10Gotowka = reader.GetBoolean(i);
  109. i++; k.Wydruk_1_data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  110. i++; k.Wydruk_1_Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  111. i++; k.Wydruk_2_data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  112. i++; k.Wydruk_2_Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  113. i++; k.Wydruk_3_data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  114. i++; k.Wydruk_3_Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  115. k.GodzinyTeorii = GetGodzinyForKurs(k, GodzinaTyp.TEORIA, false,c);
  116. k.GodzinyJazdy = GetGodzinyForKurs(k, GodzinaTyp.JAZDA, false,c);
  117. k.GodzinyDodatkowe = GetGodzinyForKurs(k, GodzinaTyp.DODATKOWA, false,c);
  118. k.GodzinyEgzaminJazda = GetGodzinyForKurs(k, GodzinaTyp.EJAZDA, false, c);
  119. k.GodzinyEgzaminTeoria = GetGodzinyForKurs(k, GodzinaTyp.ETEORIA, false, c);
  120. list.Add(k);
  121. }
  122. reader.Close();
  123. }
  124. catch (Exception e)
  125. {
  126. MessageBox.Show(e.Message);
  127. }
  128. finally
  129. {
  130. if (!ownConnection && c.State == System.Data.ConnectionState.Open)
  131. c.Close();
  132. }
  133. return list;
  134. }
  135. public bool UpdatePlatnosc(Kurs kurs, Double wplata, User user, DateTime data, bool IsGotowka, int rata)
  136. {
  137. List<Kurs> list = new List<Kurs>();
  138. bool ownConnection = false;
  139. SQLiteConnection c;
  140. c = GetConnection();
  141. String SQLset = String.Format(" rata{0}data = '{1}', rata{0}wpowadzajacyId = {2}, rata{0}kwota = {3}, rata{0}gotowka = {4} "
  142. , rata, data.ToString("yyyy-MM-dd HH:mm:ss"), user.Id, wplata, IsGotowka ? 1 : 0);
  143. bool ret = true;
  144. try
  145. {
  146. if (c.State != System.Data.ConnectionState.Open)
  147. c.Open();
  148. SQLiteCommand command = c.CreateCommand();
  149. command.CommandText = "Update Kurs set " + SQLset + " where id = " + kurs.Id;
  150. int i = command.ExecuteNonQuery();
  151. if (i == 1)
  152. {
  153. if (rata == 1)
  154. {
  155. kurs.Rata1Data = data;
  156. kurs.Rata1Kwota = wplata;
  157. kurs.Rata1Wprowadzajacy = user;
  158. kurs.Rata1Gotowka = IsGotowka;
  159. }
  160. else if (rata == 2)
  161. {
  162. kurs.Rata2Data = data;
  163. kurs.Rata2Kwota = wplata;
  164. kurs.Rata2Wprowadzajacy = user;
  165. kurs.Rata2Gotowka = IsGotowka;
  166. }
  167. else if (rata == 3)
  168. {
  169. kurs.Rata3Data = data;
  170. kurs.Rata3Kwota = wplata;
  171. kurs.Rata3Wprowadzajacy = user;
  172. kurs.Rata3Gotowka = IsGotowka;
  173. }
  174. else if (rata == 4)
  175. {
  176. kurs.Rata4Data = data;
  177. kurs.Rata4Kwota = wplata;
  178. kurs.Rata4Wprowadzajacy = user;
  179. kurs.Rata4Gotowka = IsGotowka;
  180. }
  181. else if (rata == 5)
  182. {
  183. kurs.Rata5Data = data;
  184. kurs.Rata5Kwota = wplata;
  185. kurs.Rata5Wprowadzajacy = user;
  186. kurs.Rata5Gotowka = IsGotowka;
  187. }
  188. else if (rata == 6)
  189. {
  190. kurs.Rata6Data = data;
  191. kurs.Rata6Kwota = wplata;
  192. kurs.Rata6Wprowadzajacy = user;
  193. kurs.Rata6Gotowka = IsGotowka;
  194. }
  195. else if (rata == 7)
  196. {
  197. kurs.Rata7Data = data;
  198. kurs.Rata7Kwota = wplata;
  199. kurs.Rata7Wprowadzajacy = user;
  200. kurs.Rata7Gotowka = IsGotowka;
  201. }
  202. else if (rata == 8)
  203. {
  204. kurs.Rata8Data = data;
  205. kurs.Rata8Kwota = wplata;
  206. kurs.Rata8Wprowadzajacy = user;
  207. kurs.Rata8Gotowka = IsGotowka;
  208. }
  209. else if (rata == 9)
  210. {
  211. kurs.Rata9Data = data;
  212. kurs.Rata9Kwota = wplata;
  213. kurs.Rata9Wprowadzajacy = user;
  214. kurs.Rata9Gotowka = IsGotowka;
  215. }
  216. else if (rata == 10)
  217. {
  218. kurs.Rata10Data = data;
  219. kurs.Rata10Kwota = wplata;
  220. kurs.Rata10Wprowadzajacy = user;
  221. kurs.Rata10Gotowka = IsGotowka;
  222. }
  223. else
  224. ret = false;
  225. }
  226. else
  227. ret = false;
  228. }
  229. catch (Exception e)
  230. {
  231. MessageBox.Show(e.Message);
  232. ret = false;
  233. }
  234. finally
  235. {
  236. if (!ownConnection && c.State == System.Data.ConnectionState.Open)
  237. c.Close();
  238. }
  239. return ret;
  240. }
  241. public bool SaveKurs(Kurs kurs)
  242. {
  243. SQLiteConnection c = GetConnection();
  244. bool ret = true;
  245. try
  246. {
  247. if (c.State != System.Data.ConnectionState.Open)
  248. c.Open();
  249. SQLiteCommand command = c.CreateCommand();
  250. command.CommandText = String.Format("insert into Kurs(kursantId,typKursuId,dataDodania,uzytkownikDodajacy,cena,instruktorId, nrZaswiadczenia) values ({0},{1},'{2}',{3},{4},{5},'{6}')"
  251. , kurs.KursantId, kurs.TypKursu.ID,kurs.DataDodania.ToString("yyyy-MM-dd"),kurs.UzytkownikDodajacy.Id,kurs.Cena
  252. , kurs.Instruktor == null ? 0 : kurs.Instruktor.Id, kurs.NumerZaswiadczenia);
  253. int i = command.ExecuteNonQuery();
  254. if (i != 1)
  255. {
  256. ret = false;
  257. throw new Exception("Błąd przy wstawianiu danych kursanta!");
  258. }
  259. else
  260. {
  261. command.CommandText = "SELECT last_insert_rowid();";
  262. kurs.Id = Convert.ToInt32(command.ExecuteScalar());
  263. }
  264. }
  265. catch (Exception e)
  266. {
  267. ret = false;
  268. MessageBox.Show(e.Message);
  269. }
  270. finally
  271. {
  272. if (c.State == System.Data.ConnectionState.Open)
  273. c.Close();
  274. }
  275. return ret;
  276. }
  277. public bool DeleteKurs(Kurs kurs)
  278. {
  279. SQLiteConnection c = GetConnection();
  280. bool ret = true;
  281. try
  282. {
  283. if (c.State != System.Data.ConnectionState.Open)
  284. c.Open();
  285. SQLiteCommand command = c.CreateCommand();
  286. command.CommandText = "delete from KursGodzina where kursId = " + kurs.Id;
  287. command.ExecuteNonQuery();
  288. command.CommandText = "delete from Kurs where Id = " + kurs.Id;
  289. command.ExecuteNonQuery();
  290. }
  291. catch (Exception e)
  292. {
  293. ret = false;
  294. MessageBox.Show(e.Message);
  295. }
  296. finally
  297. {
  298. if (c.State == System.Data.ConnectionState.Open)
  299. c.Close();
  300. }
  301. return ret;
  302. }
  303. public bool UpdateKurs(Kurs kurs, KursTyp kt, bool aktywny, Double cena, Double? rata1, Double? rata2, Double? rata3, Double? rata4, Double? rata5, Double? rata6, Double? rata7, Double? rata8, Double? rata9, Double? rata10
  304. , bool? rata1gotowka, bool? rata2gotowka, bool? rata3gotowka, bool? rata4gotowka, bool? rata5gotowka, bool? rata6gotowka, bool? rata7gotowka, bool? rata8gotowka, bool? rata9gotowka, bool? rata10gotowka
  305. , String nrZaswiadczenia, Instruktor instruktor)
  306. {
  307. List<Kurs> list = new List<Kurs>();
  308. SQLiteConnection c = GetConnection();
  309. bool ret = true;
  310. try
  311. {
  312. if (c.State != System.Data.ConnectionState.Open)
  313. c.Open();
  314. SQLiteCommand command = c.CreateCommand();
  315. StringBuilder sb = new StringBuilder();
  316. sb.Append("update Kurs set typKursuId = " + kt.ID+", cena = "+cena );
  317. if (aktywny)
  318. sb.Append(", aktywny = 1");
  319. else
  320. sb.Append(", aktywny = 0");
  321. if(rata1 != null)
  322. sb.Append(" ,rata1kwota = " + rata1);
  323. if (rata1gotowka != null)
  324. sb.Append(" ,rata1gotowka = " + (rata1gotowka.Value ? "1" : "0"));
  325. if (rata2 != null)
  326. sb.Append(" ,rata2kwota = " + rata2);
  327. if (rata2gotowka != null)
  328. sb.Append(" ,rata2gotowka = " + (rata2gotowka.Value ? "1" : "0"));
  329. if (rata3 != null)
  330. sb.Append(" ,rata3kwota = " + rata3);
  331. if (rata3gotowka != null)
  332. sb.Append(" ,rata3gotowka = " + (rata3gotowka.Value ? "1" : "0"));
  333. if (rata4 != null)
  334. sb.Append(" ,rata4kwota = " + rata4);
  335. if (rata4gotowka != null)
  336. sb.Append(" ,rata4gotowka = " + (rata4gotowka.Value ? "1" : "0"));
  337. if (rata5 != null)
  338. sb.Append(" ,rata5kwota = " + rata5);
  339. if (rata5gotowka != null)
  340. sb.Append(" ,rata5gotowka = " + (rata5gotowka.Value ? "1" : "0"));
  341. if (rata6 != null)
  342. sb.Append(" ,rata6kwota = " + rata6);
  343. if (rata6gotowka != null)
  344. sb.Append(" ,rata6gotowka = " + (rata6gotowka.Value ? "1" : "0"));
  345. if (rata7 != null)
  346. sb.Append(" ,rata7kwota = " + rata7);
  347. if (rata7gotowka != null)
  348. sb.Append(" ,rata7gotowka = " + (rata7gotowka.Value ? "1" : "0"));
  349. if (rata8 != null)
  350. sb.Append(" ,rata8kwota = " + rata8);
  351. if (rata8gotowka != null)
  352. sb.Append(" ,rata8gotowka = " + (rata8gotowka.Value ? "1" : "0"));
  353. if (rata9 != null)
  354. sb.Append(" ,rata9kwota = " + rata9);
  355. if (rata9gotowka != null)
  356. sb.Append(" ,rata9gotowka = " + (rata9gotowka.Value ? "1" : "0"));
  357. if (rata10 != null)
  358. sb.Append(" ,rata10kwota = " + rata10);
  359. if (rata10gotowka != null)
  360. sb.Append(" ,rata10gotowka = " + (rata10gotowka.Value ? "1" : "0"));
  361. if (!String.IsNullOrEmpty(nrZaswiadczenia))
  362. sb.Append(" ,nrZaswiadczenia = '" + nrZaswiadczenia + "'");
  363. if (instruktor != null)
  364. sb.Append(" ,instruktorId = " + instruktor.Id);
  365. sb.Append(" where id = " + kurs.Id);
  366. command.CommandText = sb.ToString();
  367. int i = command.ExecuteNonQuery();
  368. if (i != 1)
  369. {
  370. ret = false;
  371. throw new Exception("Błąd przy wstawianiu danych kursanta!");
  372. }
  373. else
  374. {
  375. kurs.TypKursu = kt;
  376. kurs.Cena = cena;
  377. kurs.Aktywny = aktywny;
  378. if (rata1 != null)
  379. kurs.Rata1Kwota = (double)rata1;
  380. if (rata2 != null)
  381. kurs.Rata2Kwota = (double)rata2;
  382. if (rata3 != null)
  383. kurs.Rata3Kwota = (double)rata3;
  384. if (rata4 != null)
  385. kurs.Rata4Kwota = (double)rata4;
  386. if (rata5 != null)
  387. kurs.Rata5Kwota = (double)rata5;
  388. if (rata6 != null)
  389. kurs.Rata6Kwota = (double)rata6;
  390. if (rata7 != null)
  391. kurs.Rata7Kwota = (double)rata7;
  392. if (rata8 != null)
  393. kurs.Rata8Kwota = (double)rata8;
  394. if (rata1gotowka != null)
  395. kurs.Rata1Gotowka = rata1gotowka.Value;
  396. if (rata2gotowka != null)
  397. kurs.Rata2Gotowka = rata2gotowka.Value;
  398. if (rata3gotowka != null)
  399. kurs.Rata3Gotowka = rata3gotowka.Value;
  400. if (rata4gotowka != null)
  401. kurs.Rata4Gotowka = rata4gotowka.Value;
  402. if (rata5gotowka != null)
  403. kurs.Rata5Gotowka = rata5gotowka.Value;
  404. if (rata6gotowka != null)
  405. kurs.Rata6Gotowka = rata6gotowka.Value;
  406. if (rata7gotowka != null)
  407. kurs.Rata7Gotowka = rata7gotowka.Value;
  408. if (rata8gotowka != null)
  409. kurs.Rata8Gotowka = rata8gotowka.Value;
  410. if (rata9gotowka != null)
  411. kurs.Rata9Gotowka = rata9gotowka.Value;
  412. if (rata10gotowka != null)
  413. kurs.Rata10Gotowka = rata10gotowka.Value;
  414. if (!String.IsNullOrEmpty(nrZaswiadczenia))
  415. kurs.NumerZaswiadczenia = nrZaswiadczenia;
  416. if (instruktor != null)
  417. kurs.Instruktor = instruktor;
  418. }
  419. }
  420. catch (Exception e)
  421. {
  422. ret = false;
  423. MessageBox.Show(e.Message);
  424. }
  425. finally
  426. {
  427. if (c.State == System.Data.ConnectionState.Open)
  428. c.Close();
  429. }
  430. return ret;
  431. }
  432. public Kurs GetKursById(long kursId, SQLiteConnection _c)
  433. {
  434. Kurs k = new Kurs();
  435. bool ownConnection = false;
  436. SQLiteConnection c;
  437. if (_c == null)
  438. {
  439. c = GetConnection();
  440. ownConnection = false;
  441. }
  442. else
  443. {
  444. c = _c;
  445. ownConnection = true;
  446. }
  447. try
  448. {
  449. if (c.State != System.Data.ConnectionState.Open)
  450. c.Open();
  451. SQLiteCommand command = c.CreateCommand();
  452. command.CommandText = @"select id,kursantId,typKursuId,dataDodania,uzytkownikDodajacy,cena
  453. , rata1data,rata2data,rata3data,rata4data
  454. , rata1wpowadzajacyId, rata2wpowadzajacyId,rata3wpowadzajacyId,rata4wpowadzajacyId
  455. , rata1kwota,rata2kwota,rata3kwota,rata4kwota
  456. , aktywny
  457. , rata1gotowka,rata2gotowka,rata3gotowka,rata4gotowka
  458. , instruktorId, nrZaswiadczenia
  459. , rata5data,rata6data,rata7data,rata8data,rata9data,rata10data
  460. , rata5wpowadzajacyId, rata6wpowadzajacyId,rata7wpowadzajacyId,rata8wpowadzajacyId,rata9wpowadzajacyId,rata10wpowadzajacyId
  461. , rata5kwota,rata6kwota,rata7kwota,rata8kwota,rata9kwota,rata10kwota
  462. , rata5gotowka,rata6gotowka,rata7gotowka,rata8gotowka,rata9gotowka,rata10gotowka
  463. , w1_data, w1_osoba, w2_data, w2_osoba, w3_data, w3_osoba
  464. from Kurs where id = " + kursId;
  465. KursantManager km = new KursantManager();
  466. UserManager u = new UserManager();
  467. SQLiteDataReader reader = command.ExecuteReader();
  468. while (reader.Read())
  469. {
  470. k.Id = reader.GetInt64(0);
  471. k.KursantId = reader.GetInt64(1);
  472. k.TypKursu = GetTypKursuById(reader.GetInt64(2),c);
  473. k.DataDodania = reader.IsDBNull(3) || reader.GetString(3) == "" ? DateTime.MaxValue : reader.GetDateTime(3);
  474. k.UzytkownikDodajacy = u.GetUserById(reader.GetInt64(4),c);
  475. k.Cena = reader.GetDouble(5);
  476. k.Rata1Data = reader.IsDBNull(6) || reader.GetString(6) == "" ? DateTime.MaxValue : reader.GetDateTime(6);
  477. k.Rata2Data = reader.IsDBNull(7) || reader.GetString(7) == "" ? DateTime.MaxValue : reader.GetDateTime(7);
  478. k.Rata3Data = reader.IsDBNull(8) || reader.GetString(8) == "" ? DateTime.MaxValue : reader.GetDateTime(8);
  479. k.Rata4Data = reader.IsDBNull(9) || reader.GetString(9) == "" ? DateTime.MaxValue : reader.GetDateTime(9);
  480. k.Rata1Wprowadzajacy = u.GetUserById(reader.IsDBNull(10) ? 0 : reader.GetInt64(10),c);
  481. k.Rata2Wprowadzajacy = u.GetUserById(reader.IsDBNull(11) ? 0 : reader.GetInt64(11), c);
  482. k.Rata3Wprowadzajacy = u.GetUserById(reader.IsDBNull(12) ? 0 : reader.GetInt64(12), c);
  483. k.Rata4Wprowadzajacy = u.GetUserById(reader.IsDBNull(13) ? 0 : reader.GetInt64(13), c);
  484. k.Rata1Kwota = reader.IsDBNull(14) ? 0 : reader.GetDouble(14);
  485. k.Rata2Kwota = reader.IsDBNull(15) ? 0 : reader.GetDouble(15);
  486. k.Rata3Kwota = reader.IsDBNull(16) ? 0 : reader.GetDouble(16);
  487. k.Rata4Kwota = reader.IsDBNull(17) ? 0 : reader.GetDouble(17);
  488. k.Aktywny = reader.GetBoolean(18);
  489. k.Rata1Gotowka = reader.GetBoolean(19);
  490. k.Rata2Gotowka = reader.GetBoolean(20);
  491. k.Rata3Gotowka = reader.GetBoolean(21);
  492. k.Rata4Gotowka = reader.GetBoolean(22);
  493. long instruktorId = reader.IsDBNull(23) ? 0 : reader.GetInt64(23);
  494. InstruktorManager im = new InstruktorManager();
  495. k.Instruktor = im.GetInstruktorById(instruktorId,c);
  496. k.NumerZaswiadczenia = reader.IsDBNull(24) ? "" : reader.GetString(24);
  497. int i = 25;
  498. k.Rata5Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  499. i++; k.Rata6Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  500. i++; k.Rata7Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  501. i++; k.Rata8Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  502. i++; k.Rata9Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  503. i++; k.Rata10Data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  504. i++; k.Rata5Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  505. i++; k.Rata6Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  506. i++; k.Rata7Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  507. i++; k.Rata8Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  508. i++; k.Rata9Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  509. i++; k.Rata10Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  510. i++; k.Rata5Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  511. i++; k.Rata6Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  512. i++; k.Rata7Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  513. i++; k.Rata8Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  514. i++; k.Rata9Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  515. i++; k.Rata10Kwota = reader.IsDBNull(i) ? 0 : reader.GetDouble(i);
  516. i++; k.Rata5Gotowka = reader.GetBoolean(i);
  517. i++; k.Rata6Gotowka = reader.GetBoolean(i);
  518. i++; k.Rata7Gotowka = reader.GetBoolean(i);
  519. i++; k.Rata8Gotowka = reader.GetBoolean(i);
  520. i++; k.Rata9Gotowka = reader.GetBoolean(i);
  521. i++; k.Rata10Gotowka = reader.GetBoolean(i);
  522. i++; k.Wydruk_1_data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  523. i++; k.Wydruk_1_Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  524. i++; k.Wydruk_2_data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  525. i++; k.Wydruk_2_Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  526. i++; k.Wydruk_3_data = reader.IsDBNull(i) || reader.GetString(i) == "" ? DateTime.MaxValue : reader.GetDateTime(i);
  527. i++; k.Wydruk_3_Wprowadzajacy = u.GetUserById(reader.IsDBNull(i) ? 0 : reader.GetInt64(i), c);
  528. k.GodzinyTeorii = GetGodzinyForKurs(k, GodzinaTyp.TEORIA, false, c);
  529. k.GodzinyJazdy = GetGodzinyForKurs(k, GodzinaTyp.JAZDA, false, c);
  530. k.GodzinyDodatkowe = GetGodzinyForKurs(k, GodzinaTyp.DODATKOWA, false, c);
  531. k.GodzinyEgzaminJazda = GetGodzinyForKurs(k, GodzinaTyp.EJAZDA, false, c);
  532. k.GodzinyEgzaminTeoria = GetGodzinyForKurs(k, GodzinaTyp.ETEORIA, false, c);
  533. }
  534. reader.Close();
  535. }
  536. catch (Exception e)
  537. {
  538. MessageBox.Show(e.Message);
  539. }
  540. finally
  541. {
  542. if (!ownConnection && c.State == System.Data.ConnectionState.Open)
  543. c.Close();
  544. }
  545. return k;
  546. }
  547. public DateTime GetMaxRataDate()
  548. {
  549. DateTime dt = DateTime.MinValue;
  550. SQLiteConnection c = GetConnection();
  551. try
  552. {
  553. if (c.State != System.Data.ConnectionState.Open)
  554. c.Open();
  555. SQLiteCommand command = c.CreateCommand();
  556. command.CommandText = "SELECT max(rata1data), max(rata2data), max(rata3data), max(rata4data), max(rata5data), max(rata6data), max(rata7data), max(rata8data), max(rata9data), max(rata10data) FROM Kurs";
  557. SQLiteDataReader reader = command.ExecuteReader();
  558. if (reader.Read())
  559. {
  560. DateTime dt1 = reader.IsDBNull(0) ? DateTime.MinValue : new DateTime(reader.GetDateTime(0).Year, reader.GetDateTime(0).Month, reader.GetDateTime(0).Day);
  561. DateTime dt2 = reader.IsDBNull(1) ? DateTime.MinValue : new DateTime(reader.GetDateTime(1).Year, reader.GetDateTime(1).Month, reader.GetDateTime(1).Day);
  562. DateTime dt3 = reader.IsDBNull(2) ? DateTime.MinValue : new DateTime(reader.GetDateTime(2).Year, reader.GetDateTime(2).Month, reader.GetDateTime(2).Day);
  563. DateTime dt4 = reader.IsDBNull(3) ? DateTime.MinValue : new DateTime(reader.GetDateTime(3).Year, reader.GetDateTime(3).Month, reader.GetDateTime(3).Day);
  564. DateTime dt5 = reader.IsDBNull(4) ? DateTime.MinValue : new DateTime(reader.GetDateTime(4).Year, reader.GetDateTime(4).Month, reader.GetDateTime(4).Day);
  565. DateTime dt6 = reader.IsDBNull(5) ? DateTime.MinValue : new DateTime(reader.GetDateTime(5).Year, reader.GetDateTime(5).Month, reader.GetDateTime(5).Day);
  566. DateTime dt7 = reader.IsDBNull(6) ? DateTime.MinValue : new DateTime(reader.GetDateTime(6).Year, reader.GetDateTime(6).Month, reader.GetDateTime(6).Day);
  567. DateTime dt8 = reader.IsDBNull(7) ? DateTime.MinValue : new DateTime(reader.GetDateTime(7).Year, reader.GetDateTime(7).Month, reader.GetDateTime(7).Day);
  568. DateTime dt9 = reader.IsDBNull(8) ? DateTime.MinValue : new DateTime(reader.GetDateTime(8).Year, reader.GetDateTime(8).Month, reader.GetDateTime(8).Day);
  569. DateTime dt10 = reader.IsDBNull(9) ? DateTime.MinValue : new DateTime(reader.GetDateTime(9).Year, reader.GetDateTime(9).Month, reader.GetDateTime(9).Day);
  570. if (dt < dt1) dt = dt1;
  571. if (dt < dt2) dt = dt2;
  572. if (dt < dt3) dt = dt3;
  573. if (dt < dt4) dt = dt4;
  574. if (dt < dt5) dt = dt5;
  575. if (dt < dt6) dt = dt6;
  576. if (dt < dt7) dt = dt7;
  577. if (dt < dt8) dt = dt8;
  578. if (dt < dt9) dt = dt9;
  579. if (dt < dt10) dt = dt10;
  580. }
  581. reader.Close();
  582. }
  583. catch (Exception e)
  584. {
  585. MessageBox.Show(e.Message);
  586. }
  587. finally
  588. {
  589. if (c.State == System.Data.ConnectionState.Open)
  590. c.Close();
  591. }
  592. return dt;
  593. }
  594. #endregion
  595. #region TYPY KURSOW
  596. /// <summary>
  597. /// Funkcja pobiera listę obiektów typu KursTypData zawierającą ustawienia godzinowo kosztowe danego typu kursu
  598. /// </summary>
  599. /// <param name="typKursuId">ID typu kursu dla którego wyciągana jest lista ustawień godzinowo kosztowych </param>
  600. /// <param name="_c">Jeżeli ten parametr ma wartość NULL wtedy connection zostanie stworzone</param>
  601. /// <returns>listę obiektów typu KursTypData zawierającą ustawienia godzinowo kosztowe danego typu kurs</returns>
  602. public List<KursTypData> GetTypKursuDataList(long typKursuId, SQLiteConnection _c)
  603. {
  604. List<KursTypData> list = new List<KursTypData>();
  605. bool ownConnection = false;
  606. SQLiteConnection c;
  607. if (_c == null)
  608. {
  609. c = GetConnection();
  610. ownConnection = false;
  611. }
  612. else
  613. {
  614. c = _c;
  615. ownConnection = true;
  616. }
  617. try
  618. {
  619. if (c.State != System.Data.ConnectionState.Open)
  620. c.Open();
  621. SQLiteCommand command = c.CreateCommand();
  622. command.CommandText = @"select id, courseTypeId,dateFrom,dateTo,noHoursDrive,priceDrive,paymentDrive,noHoursTheory,priceTheory,paymentTheory
  623. ,priceAdditional,paymentAdditional, priceEgzDrive, paymentEgzDrive, priceEgzTheory, paymentEgzTheory, noHoursAdditional
  624. , noHoursEgzTheory, noHoursEgzDrive
  625. from TypKursuDane where courseTypeId = " + typKursuId + " order by dateFrom desc";
  626. SQLiteDataReader reader = command.ExecuteReader();
  627. while (reader.Read())
  628. {
  629. KursTypData ktd = new KursTypData();
  630. ktd.Id = reader.GetInt64(0);
  631. ktd.KursTypId = reader.GetInt64(1);
  632. ktd.DateFrom = reader.GetDateTime(2);
  633. ktd.DateTo = reader.IsDBNull(3) || reader.GetString(3) == "" ? DateTime.MaxValue : reader.GetDateTime(3);
  634. ktd.NoDriveHours = reader.GetInt32(4);
  635. ktd.PriceDriveHours = reader.GetFloat(5);
  636. ktd.PaymentDriveHours = reader.GetFloat(6);
  637. ktd.NoTheoryHours = reader.GetInt32(7);
  638. ktd.PriceTheoryHours = reader.GetFloat(8);
  639. ktd.PaymentTheoryHours = reader.GetFloat(9);
  640. ktd.PriceAdditionalHours = reader.GetFloat(10);
  641. ktd.PaymentAdditionalHours = reader.GetFloat(11);
  642. ktd.PriceEgzDriveHours = reader.GetFloat(12);
  643. ktd.PaymentEgzDriveHours = reader.GetFloat(13);
  644. ktd.PriceEgzTheoryHours = reader.GetFloat(14);
  645. ktd.PaymentEgzTheoryHours = reader.GetFloat(15);
  646. ktd.NoAdditionalHours = reader.GetInt32(16);
  647. ktd.NoEgTheoryHours = reader.GetInt32(17);
  648. ktd.NoEgDriveHours = reader.GetInt32(18);
  649. list.Add(ktd);
  650. }
  651. reader.Close();
  652. }
  653. catch (Exception e)
  654. {
  655. MessageBox.Show(e.Message);
  656. }
  657. finally
  658. {
  659. if (!ownConnection && c.State == System.Data.ConnectionState.Open)
  660. c.Close();
  661. }
  662. return list;
  663. }
  664. /// <summary>
  665. /// Funkcja pobiera listę obiektów typu KursTypData zawierającą ustawienia godzinowo kosztowe danego typu kursu
  666. /// </summary>
  667. /// <param name="typKursuId">ID typu kursu dla którego wyciągana jest lista ustawień godzinowo kosztowych </param>
  668. /// <param name="_c">Jeżeli ten parametr ma wartość NULL wtedy connection zostanie stworzone</param>
  669. /// <returns>listę obiektów typu KursTypData zawierającą ustawienia godzinowo kosztowe danego typu kurs</returns>
  670. public KursTyp GetTypKursuById(long typKursuId, SQLiteConnection _c )
  671. {
  672. KursTyp kt = new KursTyp();
  673. bool ownConnection = false;
  674. SQLiteConnection c;
  675. if (_c == null)
  676. {
  677. c = GetConnection();
  678. ownConnection = false;
  679. }
  680. else
  681. {
  682. c = _c;
  683. ownConnection = true;
  684. }
  685. try
  686. {
  687. if (c.State != System.Data.ConnectionState.Open)
  688. c.Open();
  689. SQLiteCommand command = c.CreateCommand();
  690. command.CommandText = String.Format("SELECT id, name, isActive, description, IsRemainder FROM TypyKursow where id = {0}", typKursuId);
  691. SQLiteDataReader reader = command.ExecuteReader();
  692. if (reader.Read())
  693. {
  694. kt.ID = reader.GetInt64(0);
  695. kt.Name = reader.GetString(1);
  696. kt.IsActive = reader.GetBoolean(2);
  697. kt.Description = reader.IsDBNull(3) ? "" : reader.GetString(3);
  698. kt.IsRemainder = reader.GetBoolean(4);
  699. kt.DataList = GetTypKursuDataList(kt.ID, c);
  700. }
  701. reader.Close();
  702. }
  703. catch (Exception e)
  704. {
  705. MessageBox.Show(e.Message);
  706. }
  707. finally
  708. {
  709. if (!ownConnection && c.State == System.Data.ConnectionState.Open)
  710. c.Close();
  711. }
  712. return kt;
  713. }
  714. public bool UpdateTypKursuData(KursTypData ktd, DateTime DateFrom, DateTime DateTo, int NoDriveHours, float PriceDriveHours, float PaymentDriveHours, int NoTheoryHours
  715. ,float PriceTheoryHours,float PaymentTheoryHours, float PriceAdditionalHours, float PaymentAdditionalHours, float PriceEgzDrive, float PaymentEgzDrive
  716. , float PriceEgzTheory, float PaymentEgzTheory, int NoAdditionalHours, int NoEgTheoryHours, int NoEgDriveHours)
  717. {
  718. bool ret = true;
  719. SQLiteConnection c = GetConnection();
  720. try
  721. {
  722. if (c.State != System.Data.ConnectionState.Open)
  723. c.Open();
  724. SQLiteCommand command = c.CreateCommand();
  725. //SELECT id, name, isActive FROM
  726. command.CommandText = String.Format("update TypKursuDane set dateFrom = '{0}', dateTo = '{1}', noHoursDrive = {2}, priceDrive = {3}, paymentDrive = {4} " +
  727. ", noHoursTheory = {5}, priceTheory = {6}, paymentTheory = {7}, priceAdditional = {8}, paymentAdditional = {9} " +
  728. ", priceEgzDrive = {11}, paymentEgzDrive = {12}, priceEgzTheory = {13}, paymentEgzTheory = {14} " +
  729. ", noHoursAdditional = {15}, noHoursEgzTheory = {16}, noHoursEgzDrive = {17} " +
  730. " where id = {10}", DateFrom.ToString("yyyy-MM-dd 00:00"), DateTo == DateTimePicker.MaximumDateTime ? "" : DateTo.ToString("yyyy-MM-dd 00:00"), NoDriveHours
  731. , PriceDriveHours, PaymentDriveHours, NoTheoryHours, PriceTheoryHours, PaymentTheoryHours, PriceAdditionalHours, PaymentAdditionalHours
  732. , ktd.Id, PriceEgzDrive, PaymentEgzDrive, PriceEgzTheory, PaymentEgzTheory,NoAdditionalHours, NoEgTheoryHours, NoEgDriveHours);
  733. int i = command.ExecuteNonQuery();
  734. if (i != 1)
  735. {
  736. throw new Exception("Błąd przy aktualizacji danych szczegółowych typu kursu!");
  737. }
  738. else
  739. {
  740. ktd.DateFrom = DateFrom;
  741. ktd.DateTo = DateTo == DateTimePicker.MaximumDateTime ? DateTime.MaxValue : DateTo;
  742. ktd.NoDriveHours = NoDriveHours;
  743. ktd.PriceDriveHours = PriceDriveHours;
  744. ktd.PaymentDriveHours = PaymentDriveHours;
  745. ktd.NoTheoryHours = NoTheoryHours;
  746. ktd.PriceTheoryHours = PriceTheoryHours;
  747. ktd.PaymentTheoryHours = PaymentTheoryHours;
  748. ktd.PriceAdditionalHours = PriceAdditionalHours;
  749. ktd.PaymentAdditionalHours = PaymentAdditionalHours;
  750. ktd.NoEgTheoryHours = NoAdditionalHours;
  751. ktd.NoEgTheoryHours = NoEgTheoryHours;
  752. ktd.NoEgDriveHours = NoEgDriveHours;
  753. }
  754. }
  755. catch (Exception e)
  756. {
  757. MessageBox.Show(e.Message);
  758. ret = false;
  759. }
  760. finally
  761. {
  762. if (c.State == System.Data.ConnectionState.Open)
  763. c.Close();
  764. }
  765. return ret;
  766. }
  767. public bool SaveTypKursuData(KursTypData ktd)
  768. {
  769. bool ret = true;
  770. SQLiteConnection c = GetConnection();
  771. try
  772. {
  773. if (c.State != System.Data.ConnectionState.Open)
  774. c.Open();
  775. using (SQLiteTransaction dbTrans = c.BeginTransaction())
  776. {
  777. SQLiteCommand command = c.CreateCommand();
  778. //najpierw update wpisu z nieustawiona data do
  779. command.CommandText = String.Format("update TypKursuDane set dateTo = date('{0}','-1 day') where courseTypeId = {1} and (dateTo is null or dateTo = '')", ktd.DateFrom, ktd.KursTypId);
  780. command.ExecuteNonQuery();
  781. //teraz insert
  782. command.CommandText = String.Format("insert into TypKursuDane(courseTypeId, dateFrom, dateTo, noHoursDrive, priceDrive, paymentDrive, noHoursTheory, priceTheory " +
  783. " , paymentTheory, priceAdditional, paymentAdditional, priceEgzDrive, paymentEgzDrive, priceEgzTheory, paymentEgzTheory, noHoursAdditional " +
  784. " , noHoursEgzTheory, noHoursEgzDrive) " +
  785. " values ({0},'{1}','{2}',{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17})", ktd.KursTypId, ktd.DateFrom.ToString("yyyy-MM-dd 00:00")
  786. , ktd.DateTo == DateTime.MaxValue ? "" : ktd.DateTo.ToString("yyyy-MM-dd 00:00"), ktd.NoDriveHours, ktd.PriceDriveHours, ktd.PaymentDriveHours
  787. , ktd.NoTheoryHours, ktd.PriceTheoryHours, ktd.PaymentTheoryHours, ktd.PriceAdditionalHours, ktd.PaymentAdditionalHours
  788. , ktd.PriceEgzDriveHours, ktd.PaymentEgzDriveHours, ktd.PriceEgzTheoryHours, ktd.PaymentEgzTheoryHours, ktd.NoAdditionalHours
  789. , ktd.NoEgTheoryHours, ktd.NoEgDriveHours);
  790. int i = command.ExecuteNonQuery();
  791. if (i != 1)
  792. {
  793. throw new Exception("Błąd przy zapisie danych szczegółowych typu kursu!");
  794. }
  795. dbTrans.Commit();
  796. }
  797. }
  798. catch (Exception e)
  799. {
  800. MessageBox.Show(e.Message);
  801. ret = false;
  802. }
  803. finally
  804. {
  805. if (c.State == System.Data.ConnectionState.Open)
  806. c.Close();
  807. }
  808. return ret;
  809. }
  810. public List<KursTyp> GetTypyKursow()
  811. {
  812. List<KursTyp> list = new List<KursTyp>();
  813. SQLiteConnection c = GetConnection();
  814. try
  815. {
  816. if (c.State != System.Data.ConnectionState.Open)
  817. c.Open();
  818. SQLiteCommand command = c.CreateCommand();
  819. command.CommandText = "SELECT id, name, isActive,description,IsRemainder FROM TypyKursow order by name;";
  820. SQLiteDataReader reader = command.ExecuteReader();
  821. while (reader.Read())
  822. {
  823. KursTyp kt = new KursTyp();
  824. kt.ID = reader.GetInt64(0);
  825. kt.Name = reader.GetString(1);
  826. kt.IsActive = reader.GetBoolean(2);
  827. kt.Description = reader.IsDBNull(3) ? "" : reader.GetString(3);
  828. kt.IsRemainder = reader.GetBoolean(4);
  829. kt.DataList = GetTypKursuDataList(kt.ID,c);
  830. list.Add(kt);
  831. }
  832. reader.Close();
  833. }
  834. catch (Exception e)
  835. {
  836. MessageBox.Show(e.Message);
  837. }
  838. finally
  839. {
  840. if (c.State == System.Data.ConnectionState.Open)
  841. c.Close();
  842. }
  843. return list;
  844. }
  845. public bool UpdateTypKursu(KursTyp kt, String name, bool isActive, String description, bool isRemainder)
  846. {
  847. bool ret = true;
  848. SQLiteConnection c = GetConnection();
  849. try
  850. {
  851. if (c.State != System.Data.ConnectionState.Open)
  852. c.Open();
  853. SQLiteCommand command = c.CreateCommand();
  854. //SELECT id, name, isActive FROM
  855. command.CommandText = String.Format("update TypyKursow set name = '{0}', isActive = {1}, description = '{3}', IsRemainder = {4} where id = {2}", name, isActive == false ? 0 : 1, kt.ID, description, isRemainder == false ? 0 : 1);
  856. int i = command.ExecuteNonQuery();
  857. if (i != 1)
  858. {
  859. throw new Exception("Błąd przy aktualizacji danych typu kursu!");
  860. }
  861. else
  862. {
  863. kt.Name = name;
  864. kt.IsActive = isActive;
  865. kt.Description = description;
  866. kt.IsRemainder = isRemainder;
  867. }
  868. }
  869. catch (Exception e)
  870. {
  871. MessageBox.Show(e.Message);
  872. ret = false;
  873. }
  874. finally
  875. {
  876. if (c.State == System.Data.ConnectionState.Open)
  877. c.Close();
  878. }
  879. return ret;
  880. }
  881. public bool IsSendReminderDone(int NoOfPayment, Kurs kurs)
  882. {
  883. bool ret = true;
  884. SQLiteConnection c = GetConnection();
  885. try
  886. {
  887. if (c.State

Large files files are truncated, but you can click here to view the full file