-
Notifications
You must be signed in to change notification settings - Fork 0
/
MedicsF.cs
164 lines (142 loc) · 5.39 KB
/
MedicsF.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Drawing.Printing;
using System.IO;
namespace Cabinet_Medical_2
{
public partial class MedicsF : Form
{
const string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\cabmedcu user\Database1.mdb";
OleDbConnection connection = new OleDbConnection(ConnectionString);
OleDbDataAdapter adapter;
public MedicsF()
{
InitializeComponent();
exrtragereDate();
KeyDown += MedicsF_KeyDown;
}
private void MedicsF_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.P)
{
MessageBox.Show("Printing....");
PrintDocument document = new PrintDocument();
document.PrintPage += (object sender2, PrintPageEventArgs xe) =>
{
Font font = new Font("Arial", 12);
float offset = xe.MarginBounds.Top;
foreach (ListViewItem Item in listView1.Items)
{
offset += (font.GetHeight() + 5.0f);
PointF location = new System.Drawing.PointF(xe.MarginBounds.Left, offset);
xe.Graphics.DrawString(Item.Text, font, Brushes.Black, location);
}
};
PrintPreviewDialog dialog = new PrintPreviewDialog();
dialog.Document = document;
dialog.ShowDialog();
}
}
private void BecomeAMedicToolStripMenuItem_Click(object sender, EventArgs e)
{
AddMedic adaugare = new AddMedic();
adaugare.Show();
}
private void exrtragereDate()
{
if (connection.State == ConnectionState.Closed)
{
connection.Open();
}
DataTable dt = new DataTable();
OleDbCommand SelectValues = connection.CreateCommand();
SelectValues.CommandType = CommandType.Text;
SelectValues.CommandText = "SELECT * FROM medic;";
SelectValues.ExecuteNonQuery();
adapter = new OleDbDataAdapter(SelectValues);
adapter.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
populate(dr[0].ToString(), dr[1].ToString(), dr[2].ToString(), dr[3].ToString());
}
connection.Close();
}
private void populate(string id, string nume, string varsta, string specializare)
{
ListViewItem rand = new ListViewItem();
rand.Text = id;
rand.SubItems.Add(nume);
rand.SubItems.Add(varsta);
rand.SubItems.Add(specializare);
listView1.Items.Add(rand);
}
private void Button1_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
exrtragereDate();
}
private void FireAMedicToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
ListViewItem rand_selectat = listView1.SelectedItems[0];
if (rand_selectat != null)
{
connection.Open();
string id_selectat = rand_selectat.SubItems[0].Text;
OleDbCommand RemoveValues = connection.CreateCommand();
RemoveValues.CommandType = CommandType.Text;
RemoveValues.CommandText = "DELETE FROM medic WHERE id = " + id_selectat + ";";
RemoveValues.ExecuteNonQuery();
listView1.Items.Clear();
exrtragereDate();
connection.Close();
}
}
catch
{
MessageBox.Show("Please select a Medic!");
}
}
private void BackToMainMenuToolStripMenuItem_Click(object sender, EventArgs e)
{
Form1 back = new Form1();
back.Show();
Close();
}
private void PrintMedicListToolStripMenuItem_Click(object sender, EventArgs e)
{
{
string filename = "";
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "Save File";
sfd.Filter = "Text File (.txt) | *.txt";
string splitter = " ";
if (sfd.ShowDialog() == DialogResult.OK)
{
filename = sfd.FileName.ToString();
if (filename != "")
{
using (StreamWriter sw = new StreamWriter(filename))
{
foreach (ListViewItem item in listView1.Items)
{
sw.WriteLine("{0}{1}{2}{3}{4}{5}{6}", item.SubItems[0].Text,
splitter, item.SubItems[1].Text, splitter, item.SubItems[2].Text, splitter,
item.SubItems[3].Text);
}
}
}
}
}
}
}
}