· 8 years ago · Nov 19, 2017, 10:28 PM
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Linq;
7using System.Text;
8using System.Threading.Tasks;
9using System.Windows.Forms;
10using System.Data.SQLite;
11using System.IO.Ports;
12using System.Collections;
13
14namespace PÅ™Ãstupový_systém
15{
16 public partial class Access_Form : Form
17 {
18 public Access_Form()
19 {
20 InitializeComponent();
21 }
22 SerialPort com = new SerialPort();
23 SQLiteConnection db_Connection = new SQLiteConnection("Data source = databaze.db");
24 private void novýToolStripMenuItem_Click(object sender, EventArgs e) //Nový uživatel
25 {
26 Uziv_novy_Form Uziv_novy_show = new Uziv_novy_Form();
27 Uziv_novy_show.Show();
28 }
29
30 private void editToolStripMenuItem_Click(object sender, EventArgs e) //Editovánà Uživatele
31 {
32 Uziv_edit_Form Uziv_edit_show = new Uziv_edit_Form();
33 Uziv_edit_show.Show();
34 }
35 private void přiřaditSkupinyToolStripMenuItem_Click(object sender, EventArgs e) //Přiřazenà skupiny
36 {
37 Uziv_pridat_skupiny_Form Uziv_priradit_show = new Uziv_pridat_skupiny_Form();
38 Uziv_priradit_show.Show();
39 }
40 private void nováToolStripMenuItem_Click(object sender, EventArgs e) //Nová skupina
41 {
42 Skupina_novy_Form Skupina_novy_show = new Skupina_novy_Form();
43 Skupina_novy_show.Show();
44 }
45
46 private void editovánÃToolStripMenuItem_Click(object sender, EventArgs e) //Editovánà skupiny
47 {
48 Skupina_edit_Form Skupina_edit_show = new Skupina_edit_Form();
49 Skupina_edit_show.Show();
50 }
51
52 private void Access_Form_Load(object sender, EventArgs e) //NaÄtenà formu
53 {
54 com.PortName = "COM5";//Nastavenà portu pro ÄtenÃ
55 com.DtrEnable = true;
56 com.BaudRate = 19200;
57 com.DataBits = 8;
58 com.Parity = Parity.None;
59 com.StopBits = StopBits.One;
60 com.DataReceived += new SerialDataReceivedEventHandler(comPort_DataReceived); // funkce při obdrženà dat
61 //com.Open();
62 //Přidánà tabulek, pokud nejsou
63 SQLiteCommand dbCommand = new SQLiteCommand(db_Connection);
64 db_Connection.Open();
65 dbCommand.CommandText = "DROP TABLE uzivatele";
66 dbCommand.ExecuteNonQuery();
67 dbCommand.CommandText = "DROP TABLE skupiny";
68 dbCommand.ExecuteNonQuery();
69 dbCommand.CommandText = "CREATE TABLE IF NOT EXISTS uzivatele(rf VARCHAR(15) PRIMARY KEY, jmeno VARCHAR(20), prijmeni VARCHAR(20), index_skupiny INTEGER(10), FOREIGN KEY (index_skupiny) REFERENCES skupiny(id));";
70 dbCommand.ExecuteNonQuery();
71 dbCommand.CommandText = "CREATE TABLE IF NOT EXISTS skupiny (id INTEGER PRIMARY KEY AUTOINCREMENT, jmeno VARCHAR(20), cas_od INTEGER(10),cas_do INTEGER(10));";
72 dbCommand.ExecuteNonQuery();
73 dbCommand.CommandText = "CREATE TABLE IF NOT EXISTS logy (id INTEGER PRIMARY KEY AUTOINCREMENT, jmeno VARCHAR(20), cas_od INTEGER(10),cas_do INTEGER(10));";
74 dbCommand.ExecuteNonQuery();
75 dbCommand.CommandText = "INSERT INTO skupiny (id, jmeno, cas_od, cas_do) VALUES ('0', 'Nepovolený', '0', '0');";
76 dbCommand.ExecuteNonQuery();
77 dbCommand.CommandText = "INSERT INTO skupiny (id, jmeno, cas_od, cas_do) VALUES ('1', 'Povolený', '0', '0');";
78 dbCommand.ExecuteNonQuery();
79 dbCommand.CommandText = "INSERT INTO uzivatele (rf, jmeno, prijmeni, index_skupiny) VALUES ('57192BFA', 'Anežka', 'Blazskowicz', '0');";
80 dbCommand.ExecuteNonQuery();
81 dbCommand.CommandText = "INSERT INTO uzivatele (rf, jmeno, prijmeni, index_skupiny) VALUES ('0585DF14', 'Admin', 'Admin', '1');";
82 dbCommand.ExecuteNonQuery();
83 db_Connection.Close();
84 }
85 private void comPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
86 {
87 string message = com.ReadLine();
88 }
89 public static string Filtrace(string message)//Filtrace znaků, pouze ÄÃsla a velká pÃsmena
90 {
91 StringBuilder sb = new StringBuilder();
92 foreach (char c in message)
93 {
94 if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z'))
95 sb.Append(c);
96 }
97 return sb.ToString();
98 }
99
100 private void informaceToolStripMenuItem_Click(object sender, EventArgs e)//Informace napsané do MessageBoxu
101 {
102 MessageBox.Show("Verze 1.0");
103 }
104
105 private void vypnoutToolStripMenuItem_Click(object sender, EventArgs e)//Vypnutà celé aplikace
106 {
107 Close();
108 }
109
110 private void Simulation_Textbox_TextChanged(object sender, EventArgs e)//Simulace Filtrace --> Vstup ÄteÄky
111 {
112 string message = Simulation_Textbox.Text;
113 Simulation_Textbox.Text =Convert.ToString(Filtrace(message));
114 }
115
116 private void Access_Form_Tab_SelectedIndexChanged(object sender, EventArgs e)
117 {
118
119 }
120
121 private void RF_Simulation_Click(object sender, EventArgs e)//Simulace pÅ™iloženà Äipu na ÄteÄku
122 {
123 SQLiteCommand dbCommand = new SQLiteCommand(db_Connection);
124 db_Connection.Open();
125 dbCommand.CommandText = "SELECT * FROM uzivatele WHERE rf='" + Simulation_Textbox.Text + "';";
126 dbCommand.ExecuteNonQuery();
127 SQLiteDataReader dbDataReader = dbCommand.ExecuteReader();
128 if (dbDataReader.HasRows)
129 {
130 while (dbDataReader.Read())
131 {
132 Logs_Textbox.Text += dbDataReader[1] + " ";
133 Logs_Textbox.Text += dbDataReader[2] + " ";
134 Logs_Textbox.Text += dbDataReader[0] + " ";
135 Logs_Textbox.Text += DateTime.Today.ToString("dd/MM/yyyy")+" ";
136 Logs_Textbox.Text += DateTime.Now.Hour.ToString()+":"+ DateTime.Now.Minute.ToString()+" ";
137 SQLiteCommand dbCommand2 = new SQLiteCommand(db_Connection);
138 dbCommand2.CommandText = "SELECT cas_do FROM skupiny WHERE id = '" + dbDataReader[3] + "';";
139 dbCommand2.ExecuteNonQuery();
140 SQLiteDataReader dbDataReader2 = dbCommand2.ExecuteReader();
141 if (dbDataReader2.HasRows)
142 {
143 while (dbDataReader2.Read())
144 {
145 string max_value = Convert.ToString(dbDataReader2[0]);
146 int max_value_number = int.Parse(max_value);
147 int result = DateTime.Now.Hour - max_value_number;
148 if (result > 0)
149 Logs_Textbox.Text += "PÅ™Ãstup povolen";
150 else
151 Logs_Textbox.Text += "PÅ™Ãstup zakázán";
152 }
153 }
154 Logs_Textbox.Text += "\r\n";
155 }
156 }
157 db_Connection.Close();
158 }
159
160 private void Uziv_button_Click(object sender, EventArgs e)
161 {
162 Uziv_Textbox.Clear();
163 SQLiteCommand dbCommand = new SQLiteCommand(db_Connection);
164 db_Connection.Open();
165 dbCommand.CommandText = "SELECT * FROM uzivatele";
166 SQLiteDataReader dbDataReader = dbCommand.ExecuteReader();
167 if (dbDataReader.HasRows)
168 {
169 while (dbDataReader.Read())
170 {
171 Uziv_Textbox.Text += dbDataReader[1] + " ";
172 Uziv_Textbox.Text += dbDataReader[2] + " ";
173 Uziv_Textbox.Text += dbDataReader[0] + " ";
174 Uziv_Textbox.Text += dbDataReader[3] + " \r\n";
175 }
176 }
177 db_Connection.Close();
178 }
179
180 private void Skupiny_button_Click(object sender, EventArgs e)
181 {
182 Skupiny_Textbox.Clear();
183 SQLiteCommand dbCommand = new SQLiteCommand(db_Connection);
184 db_Connection.Open();
185 dbCommand.CommandText = "SELECT * FROM skupiny";
186 SQLiteDataReader dbDataReader = dbCommand.ExecuteReader();
187 if (dbDataReader.HasRows)
188 {
189 while (dbDataReader.Read())
190 {
191 Skupiny_Textbox.Text += dbDataReader[0] + " ";
192 Skupiny_Textbox.Text += dbDataReader[1] + " ";
193 Skupiny_Textbox.Text += dbDataReader[2] + " [hh] ";
194 Skupiny_Textbox.Text += dbDataReader[3] + " [hh] \r\n";
195 }
196 }
197 db_Connection.Close();
198 }
199 }
200}