root/BazaZamowien/Logowanie.cs @ 718

Wersja 718, 8.3 KB (wprowadzona przez marek, 17 years temu)

usunieto lokalne polaczenie do bazy - teraz funkcjonuje juz tylko poprzez sql.ct.com.pl

Line 
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Data.SqlClient;
6using System.Drawing;
7using System.Text;
8using System.Windows.Forms;
9using System.Configuration;
10using BazaZamowien.Classes;
11
12namespace BazaZamowien
13{
14    public partial class Logowanie : Form
15    {
16        private string server = "";
17
18        public Logowanie()
19        {
20            InitializeComponent();
21
22            label4.Text = "Wersja " + Application.ProductVersion;
23
24            //bazyComboBox.Items.Add(new BoundItem(BazaZamowien.Properties.Settings.Default.LOKALNE,"LOKALNE"));
25            bazyComboBox.Items.Add(new BoundItem(BazaZamowien.Properties.Settings.Default.ZDALNE,"ZDALNE"));
26            bazyComboBox.SelectedIndex = 0;
27        }
28
29        private void button1_Click(object sender, EventArgs e)
30        {           
31            if (textBox1.Text == "") { return; }
32            //if (textBox2.Text == "") { return; }
33
34            label1.Text = "";
35
36            server = ((BoundItem)bazyComboBox.SelectedItem).StringValue;
37
38            this.Cursor = Cursors.WaitCursor;
39
40            User.getUser().UprZamowienia = loginTestZamowienia();
41            User.getUser().UprPremie = loginTestPremie();
42
43            this.Cursor = Cursors.Default;         
44
45            if (User.getUser().UprZamowienia)
46            {
47                this.Cursor = Cursors.WaitCursor;
48                if (Login())           
49                {
50                    this.Cursor = Cursors.WaitCursor;
51
52                    if (Login())
53                    {
54                        this.DialogResult = DialogResult.OK;
55                    }
56                    else
57                    {
58                       // komunikatLabel.Text = "Konto nieaktywne lub brak uprawnień.";
59                    }
60
61                    this.Cursor = Cursors.Default; 
62                }
63                this.Cursor = Cursors.Default;               
64            }
65        }
66
67        private void Logowanie_KeyPress(object sender, KeyPressEventArgs e)
68        {
69            if (e.KeyChar == 13)
70            {
71                button1.PerformClick();
72            }         
73        }
74
75       
76        private bool loginTestZamowienia() {
77
78            SqlConnectionStringBuilder sqlBldr = new SqlConnectionStringBuilder();
79            sqlBldr.DataSource = this.server;
80            sqlBldr.InitialCatalog = Properties.Settings.Default.zamowieniaDATABASE;
81            sqlBldr.UserID = textBox1.Text;
82            sqlBldr.Password = textBox2.Text;
83            sqlBldr.ConnectTimeout = 10000;
84            sqlBldr.ApplicationName = "BazaZamowien_Premii";
85           
86            SqlConnection conn = new SqlConnection(sqlBldr.ConnectionString);
87
88            try
89            {
90                conn.Open();
91                label1.Text = "OK";
92                conn.Close();
93                ConnString.getConnString().ZamowieniaConnStr = sqlBldr.ConnectionString;
94                return true;
95            }
96            catch (SqlException e1) {
97               
98                switch (e1.Number) {
99                    case 18456:
100                        label1.Text = "Nieprawidłowy login lub hasło";
101                        break;
102                    default:
103                        label1.Text = "Server niedostępny " + sqlBldr.ConnectionString;
104                        MessageBox.Show(e1.Message);
105                        break;
106                } 
107            }
108            return false;
109        }
110
111
112        private bool loginTestPremie()
113        {
114            SqlConnectionStringBuilder sqlBldr = new SqlConnectionStringBuilder();
115            sqlBldr.DataSource = this.server;
116            sqlBldr.InitialCatalog = Properties.Settings.Default.premieDATABASE;
117            sqlBldr.UserID = textBox1.Text;
118            sqlBldr.Password = textBox2.Text;
119            sqlBldr.ConnectTimeout = 10000;
120
121            SqlConnection conn = new SqlConnection(sqlBldr.ConnectionString);
122
123            try
124            {
125                conn.Open();
126                label1.Text = "OK";
127                conn.Close();
128                ConnString.getConnString().PremieConnStr = sqlBldr.ConnectionString;               
129                return true;
130            }
131            catch (SqlException e1)
132            {/*
133                switch (e1.Number)
134                {
135                    case 18456:
136                        label1.Text = "Nieprawidłowy login lub hasło";
137                        break;
138                    default:
139                        label1.Text = "Server niedostępny " + sqlBldr.ConnectionString;
140                        MessageBox.Show(e1.Message);
141                        break;
142                }*/
143            }
144            return false;
145        }
146
147       
148        private bool Login()
149        {
150            //textBox1.Text = "kinga";
151
152            if (User.getUser().UprPremie)
153            {
154                User.getUser().IDE_CT = PremieUtils.pobierzeIDE_CT(textBox1.Text);
155                User.getUser().IDEDzialuCT = PremieUtils.pobierzeIDEDzialuCT(User.getUser().IDE_CT);
156                User.getUser().IDEOddzialuCT = PremieUtils.pobierzeIDEOdzialuCT(User.getUser().IDE_CT);
157                User.getUser().PremieGrupa = PremieUtils.pobierzeIDEGrupy(textBox1.Text);
158            }
159
160            /*
161            if (User.getUser().UprPremie)
162            {
163                User.getUser().IDE_CT = PremieUtils.pobierzeIDE_CT("winkler");
164                User.getUser().PremieGrupa = PremieUtils.pobierzeIDEGrupy("winkler");
165            }
166             */
167
168            //zczytyje prawa uzytkownika do bazy zamowien
169           
170            SqlConnection conn = new SqlConnection(ConnString.getConnString().ZamowieniaConnStr);
171            SqlCommand command = new SqlCommand();           
172            command.CommandText = "select * from dbo.Users where symbol = @login";
173            command.Parameters.AddWithValue("@login", textBox1.Text);
174            //command.Parameters.AddWithValue("@login", "klimczak");           
175            command.Connection = conn;
176
177            conn.Open();
178
179            SqlDataReader reader = command.ExecuteReader();
180
181            if (reader.HasRows)
182            {
183                while (reader.Read())
184                {
185                    User.getUser().IDE = Convert.ToInt32(reader.GetValue(0));
186                    User.getUser().Symbol = reader.GetValue(1).ToString();
187                    User.getUser().Imie = reader.GetValue(2).ToString();
188                    User.getUser().Nazwisko = reader.GetValue(3).ToString();
189                    User.getUser().Email = reader.GetValue(4).ToString();
190                    User.getUser().Grupa = reader.IsDBNull(5) ? 0 : Convert.ToInt32(reader.GetValue(5));
191                   // User.getUser().Administracja = Convert.ToInt32(reader.GetValue(5)) == 1 ? true : false;
192                    User.getUser().IDEDzialu = Convert.ToInt32(reader.GetValue(6));
193
194                    User.getUser().OueryString = reader.IsDBNull(9) ? "" : reader.GetValue(9).ToString();
195                }
196
197                conn.Close();
198
199                User.getUser().Numer_Roz = ZamowieniaUtils.Numer_Roz(User.getUser().IDEDzialu);
200                User.getUser().St_dyrektorFinansowy = ZamowieniaUtils.czyJestDyrFinansowym(User.getUser().IDE);
201                User.getUser().St_dyrektorGeneralny = ZamowieniaUtils.czyJestDyrGeneralnym(User.getUser().IDE);
202                User.getUser().St_glownyKsiegowy = ZamowieniaUtils.czyJestGlownymKsiegowym(User.getUser().IDE);
203                User.getUser().St_kierownik = ZamowieniaUtils.czyJestKierownikiem(User.getUser().IDE);
204
205                if (User.getUser().St_dyrektorFinansowy | User.getUser().St_dyrektorGeneralny | User.getUser().St_glownyKsiegowy)
206                {
207                    User.getUser().Filtr = "1=1";
208                }
209                else
210                {
211                    User.getUser().Filtr = "ZamowienieDzial=" + User.getUser().IDEDzialu;
212                }
213
214                return true;
215            }
216            else
217            {
218                label1.Text = "Brak uprawnień.";
219                return false;
220            }
221        }
222
223        private void Logowanie_Load(object sender, EventArgs e)
224        {
225
226        }
227    }
228}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.