using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; using BazaZamowien.Classes; namespace BazaZamowien { public partial class ZamowieniaForm : Form { private bool queryExist; private SqlCommand refreshCommand = new SqlCommand(); private static ZamowieniaForm zamowieniaFormInstace; public static ZamowieniaForm getZamowieniaForm(MDImainForm parent) { if (zamowieniaFormInstace == null) { zamowieniaFormInstace = new ZamowieniaForm(parent); } return zamowieniaFormInstace; } private ZamowieniaForm(MDImainForm parent) { InitializeComponent(); this.MdiParent = parent; usersTableAdapter.Connection.ConnectionString = ConnString.getConnString().ZamowieniaConnStr; dzialyTableAdapter.Connection.ConnectionString = ConnString.getConnString().ZamowieniaConnStr; view_ZamowieniaTableAdapter.Connection.ConnectionString = ConnString.getConnString().ZamowieniaConnStr; zamowieniaTableAdapter1.Connection.ConnectionString = ConnString.getConnString().ZamowieniaConnStr; szukajToolStrip.Items.Insert(6, new ToolStripLabel("cykl.:")); szukajToolStrip.Items.Insert(7, new ToolStripControlHost(new CheckBox(), "CykliczneCheckBox")); szukajToolStrip.Items.Insert(8, new ToolStripLabel("własne:")); szukajToolStrip.Items.Insert(9, new ToolStripControlHost(new CheckBox(), "mojeCheckBox")); szukajToolStrip.Items.Insert(10, new ToolStripLabel("Z:")); szukajToolStrip.Items.Insert(11, new ToolStripControlHost(new CheckBox(), "ZCheckBox")); szukajToolStrip.Items.Insert(12, new ToolStripLabel("D1:")); szukajToolStrip.Items.Insert(13, new ToolStripControlHost(new CheckBox(), "D1CheckBox")); szukajToolStrip.Items.Insert(14, new ToolStripLabel("D2:")); szukajToolStrip.Items.Insert(15, new ToolStripControlHost(new CheckBox(), "D2CheckBox")); szukajToolStrip.Items.Insert(16, new ToolStripLabel("D3:")); szukajToolStrip.Items.Insert(17, new ToolStripControlHost(new CheckBox(), "D3CheckBox")); ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["ZCheckBox"]).Control).ThreeState = true; ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D1CheckBox"]).Control).ThreeState = true; ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D2CheckBox"]).Control).ThreeState = true; ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D3CheckBox"]).Control).ThreeState = true; DateTimePicker dtp = new DateTimePicker(); dtp.Format = DateTimePickerFormat.Short; dtp.Value = DateTime.Today; dtp.Width = 80; szukajToolStrip.Items.Insert(22, new ToolStripLabel("data zam.:")); szukajToolStrip.Items.Insert(23, new ToolStripControlHost(dtp,"dtp")); filtrToolStripButton.PerformClick(); } private void mainForm_Load(object sender, EventArgs e) { this.usersTableAdapter.Fill(this.zamowieniaDataSet.Users); this.dzialyTableAdapter.Fill(this.zamowieniaDataSet.Dzialy); if (User.getUser().Grupa == 3 | User.getUser().Administracja) { ZamowieniaDBBindings.bindujDzialyAll(dzialyToolStripComboBox); } else { ZamowieniaDBBindings.bindujDzialy(dzialyToolStripComboBox, User.getUser().IDE); } this.dzialyToolStripComboBox.SelectedIndex = -1; danePoczatkowe(); uprawnienia(); } private void szukajToolStripButton_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; string query = "SELECT IDE,Numer, Numer_Roz, Numer_Rok, ZamowienieKto, ZamowienieDzial, ZamowienieKategoria1, "; query += " ZamowienieData, ZamowienieTresc, ZamowienieWartosc1, ZamowienieWartosc2, ZamowienieZatwierdzone, "; query += " Decyzja1, Decyzja1Kto, Decyzja1Data, Decyzja2, Decyzja2Kto, Decyzja2Data, Decyzja3, Decyzja3Kto, "; query += " Decyzja3Data, FullNumer, Dec2, Dec1, Dec3 FROM view_Zamowienia "; if (!(User.getUser().Grupa == 3)) { query += " WHERE ((ZamowienieKto = @PARAM) or ((ZamowienieKto !=@PARAM)"; query += " and view_Zamowienia.ZamowienieDzial in (select UsersDzialy.IDEDzial from UsersDzialy "; query += " where UsersDzialy.IDEUser = @PARAM)))"; } else { query += " WHERE 1=1 "; } SqlCommand command = new SqlCommand(); command.CommandText = query; command.Connection = new SqlConnection(ConnString.getConnString().ZamowieniaConnStr); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = command; command.Parameters.AddWithValue("@PARAM", User.getUser().IDE); if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["mojeCheckBox"]).Control).CheckState == CheckState.Checked) { command.CommandText += " and (ZamowienieKto=@kto) "; command.Parameters.AddWithValue("@kto", User.getUser().IDE); } if (dzialyToolStripComboBox.SelectedItem != null) { command.CommandText += " and ZamowienieDzial=@dzial "; command.Parameters.AddWithValue("@dzial", ((BoundItem)dzialyToolStripComboBox.SelectedItem).IDEvalue1); } if (rokToolStripTextBox.Text != "") { int i; if (!Int32.TryParse(rokToolStripTextBox.Text, out i)){ MessageBox.Show("Podaj poprawny rok."); return; } command.CommandText += " and (Numer_Rok=@rok) "; command.Parameters.AddWithValue("@rok", i); } if (trescToolStripTextBox.Text != "") { command.CommandText += " and ZamowienieTresc like '%' + @tresc + '%' "; command.Parameters.AddWithValue("@tresc", trescToolStripTextBox.Text); } if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["CykliczneCheckBox"]).Control).CheckState == CheckState.Checked) { command.CommandText += " AND (ZamowienieWartosc2<>0) "; } else if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["CykliczneCheckBox"]).Control).CheckState == CheckState.Unchecked) { command.CommandText += " AND (ZamowienieWartosc2=0) "; } if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["ZCheckBox"]).Control).CheckState == CheckState.Checked) { command.CommandText += " AND (ZamowienieZatwierdzone<>0) "; } else if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["ZCheckBox"]).Control).CheckState == CheckState.Unchecked) { command.CommandText += " AND (ZamowienieZatwierdzone=0 OR ZamowienieZatwierdzone is null) "; } if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D1CheckBox"]).Control).CheckState == CheckState.Checked) { command.CommandText += " AND (Decyzja1<>0) "; } else if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D1CheckBox"]).Control).CheckState == CheckState.Unchecked) { command.CommandText += " AND (Decyzja1=0 OR Decyzja1 is null) "; } if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D2CheckBox"]).Control).CheckState == CheckState.Checked) { command.CommandText += " AND (Decyzja2<>0) "; } else if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D2CheckBox"]).Control).CheckState == CheckState.Unchecked) { command.CommandText += " AND (Decyzja2=0 OR Decyzja2 is null) "; } if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D3CheckBox"]).Control).CheckState == CheckState.Checked) { command.CommandText += " AND (Decyzja3<>0) "; } else if (((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D3CheckBox"]).Control).CheckState == CheckState.Unchecked) { command.CommandText += " AND (Decyzja3=0 OR Decyzja3 is null) "; } zamowieniaDataSet.view_Zamowienia.Clear(); adapter.Fill(zamowieniaDataSet.view_Zamowienia); this.refreshCommand = command; this.queryExist = true; this.Cursor = Cursors.Default; } private void filtrToolStripButton_Click(object sender, EventArgs e) { rokToolStripTextBox.Clear(); trescToolStripTextBox.Clear(); this.dzialyToolStripComboBox.SelectedIndex = -1; ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["CykliczneCheckBox"]).Control).CheckState = CheckState.Indeterminate; ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["mojeCheckBox"]).Control).CheckState = CheckState.Indeterminate; ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["ZCheckBox"]).Control).CheckState = CheckState.Indeterminate; ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D1CheckBox"]).Control).CheckState = CheckState.Indeterminate; ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D2CheckBox"]).Control).CheckState = CheckState.Indeterminate; ((CheckBox)((ToolStripControlHost)szukajToolStrip.Items["D3CheckBox"]).Control).CheckState = CheckState.Indeterminate; } private void kryteriumWyszukiwania_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { szukajToolStripButton.PerformClick(); } } private void zamowieniaDataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e) { MessageBox.Show(e.ColumnIndex + "****" + zamowieniaDataGridView[e.ColumnIndex, e.RowIndex].Value.ToString() + "***" + e.RowIndex); } private void edytujZamToolStripButton_Click(object sender, EventArgs e) { if (viewZamowieniaBindingSource.Current != null) { this.Cursor = Cursors.WaitCursor; DataRowView row = (DataRowView)viewZamowieniaBindingSource.Current; int IDE = Convert.ToInt32(row["IDE"]); ZamowienieForm zf = new ZamowienieForm(IDE, false); if (zf.ShowDialog() == DialogResult.OK) { //odswiezanie odswiez(); } this.Cursor = Cursors.Default; } } private void wznowToolStripButton_Click(object sender, EventArgs e) { if (viewZamowieniaBindingSource.Current != null) { this.Cursor = Cursors.WaitCursor; DataRowView row = (DataRowView)viewZamowieniaBindingSource.Current; int IDE = Convert.ToInt32(row["IDE"]); ZamowienieForm zf = new ZamowienieForm(IDE, true); if (zf.ShowDialog() == DialogResult.OK) { //odswiezanie //odswiez(); danePoczatkowe(); } this.Cursor = Cursors.Default; } } private void mainForm_FormClosed(object sender, FormClosedEventArgs e) { Application.Exit(); } private void toolStripButton1_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; ZamowienieForm zf = new ZamowienieForm(); if (zf.ShowDialog() == DialogResult.OK) { // this.refreshCommand.CommandText = "select "; // odswiez(); danePoczatkowe(); } this.Cursor = Cursors.Default; } private void uprawnienia(){ //administracja //dyr generalny //dyr finansowy //glowna ksiegowa //kierownik //zwykly suer // wyszukiwanie // filtry /* if (!(User.getUser().St_kierownik | User.getUser().St_dyrektorGeneralny | User.getUser().St_dyrektorFinansowy | User.getUser().St_glownyKsiegowy | User.getUser().Administracja | (User.getUser().Grupa == 3))) { usunZamToolStripButton.Enabled = false; } */ if (User.getUser().Administracja | (User.getUser().Grupa == 3)) { userToolStripButton.Visible = true; userToolStripButton.Enabled = true; } } private void danePoczatkowe() { string query = "SELECT IDE,Numer, Numer_Roz, Numer_Rok, ZamowienieKto, ZamowienieDzial, ZamowienieKategoria1, "; query += " ZamowienieData, ZamowienieTresc, ZamowienieWartosc1, ZamowienieWartosc2, ZamowienieZatwierdzone, "; query += " Decyzja1, Decyzja1Kto, Decyzja1Data, Decyzja2, Decyzja2Kto, Decyzja2Data, Decyzja3, Decyzja3Kto, "; query += " Decyzja3Data, FullNumer, Dec2, Dec1, Dec3 FROM view_Zamowienia"; query += " WHERE ((ZamowienieKto = @PARAM) or ((ZamowienieKto !=@PARAM)"; query += " and view_Zamowienia.ZamowienieDzial in (select UsersDzialy.IDEDzial from UsersDzialy "; query += " where UsersDzialy.IDEUser = @PARAM))) "; if (User.getUser().St_glownyKsiegowy) { query += " AND (Decyzja3 is null or Decyzja3 <> 1) "; } else if (User.getUser().St_dyrektorFinansowy) { query += " AND (Decyzja2 is null or Decyzja2 <> 1) "; } query += " AND (ZamowienieData >= GETDATE()-100) ORDER BY ZamowienieData desc"; /* query += User.getUser().St_kierownik ? " AND (Dec1 IS NULL) " : ""; query += User.getUser().St_dyrektorFinansowy ? " AND (Dec2 IS NULL) " : ""; query += User.getUser().St_dyrektorGeneralny | User.getUser().St_glownyKsiegowy ? " AND (Dec3 IS NULL) " : ""; */ SqlCommand command = new SqlCommand(); command.CommandText = query; command.Connection = new SqlConnection(ConnString.getConnString().ZamowieniaConnStr); command.Parameters.AddWithValue("@PARAM", User.getUser().IDE); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = command; zamowieniaDataSet.view_Zamowienia.Clear(); adapter.Fill(zamowieniaDataSet.view_Zamowienia); this.refreshCommand = command; this.queryExist = true; } private int ileDoRoboty() { /* int i = 0; if (User.getUser().St_glownyKsiegowy | User.getUser().St_dyrektorGeneralny) { i += (int)ZamowieniaUtils.ExecuteQuery("select count(*) from zamowienia where (ZamowienieZatwierdzone<>0) AND (Decyzja3=0 Or Decyzja3 IS NULL) "); } if (User.getUser().St_dyrektorFinansowy) { i += (int)ZamowieniaUtils.ExecuteQuery("select count(*) from zamowienia where (ZamowienieZatwierdzone<>0) AND (Decyzja2=0 Or Decyzja2 IS NULL) "); } if (User.getUser().St_kierownik) { i += (int)ZamowieniaUtils.ExecuteQuery("select count(*) from zamowienia where (ZamowienieZatwierdzone<>0) AND (Decyzja1=0 Or Decyzja1 IS NULL) and ZamowienieDzial " + "in (select UsersDzialy.IDEDzial from UsersDzialy where UsersDzialy.IDEUser = " + User.getUser().IDE +" ) " ); } return i; * */ return 0; } private void usunZamToolStripButton_Click(object sender, EventArgs e) { if (viewZamowieniaBindingSource.Current != null) { if (MessageBox.Show("Czy na pewno chcesz usunąc rekord?", "", MessageBoxButtons.YesNo) == DialogResult.Yes) { DataRowView row = (DataRowView)viewZamowieniaBindingSource.Current; int IDE = Convert.ToInt32(row["IDE"]); if (ZamowieniaUtils.czyMoznaUsunacZam(IDE)) { zamowieniaTableAdapter1.Delete(IDE); MessageBox.Show("Zamówienie zostało usunięte."); odswiez(); } else { MessageBox.Show("Nie można usunąć zamówienia"); } } } } private void mainForm_Shown(object sender, EventArgs e) { int i = ileDoRoboty(); if (i != 0) { MessageBox.Show("Liczba rekordów do zatwierdzenia : " + i); } } private void odswiez() { if (queryExist) { SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = this.refreshCommand; zamowieniaDataSet.view_Zamowienia.Clear(); adapter.Fill(zamowieniaDataSet.view_Zamowienia); } } private void wyszukajPoDacieToolStripButton_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; string query = "SELECT IDE,Numer, Numer_Roz, Numer_Rok, ZamowienieKto, ZamowienieDzial, ZamowienieKategoria1, "; query += " ZamowienieData, ZamowienieTresc, ZamowienieWartosc1, ZamowienieWartosc2, ZamowienieZatwierdzone, "; query += " Decyzja1, Decyzja1Kto, Decyzja1Data, Decyzja2, Decyzja2Kto, Decyzja2Data, Decyzja3, Decyzja3Kto, "; query += " Decyzja3Data, FullNumer, Dec2, Dec1, Dec3 FROM view_Zamowienia "; query += " WHERE ((ZamowienieKto = @PARAM) or ((ZamowienieKto !=@PARAM)"; query += " and view_Zamowienia.ZamowienieDzial in (select UsersDzialy.IDEDzial from UsersDzialy "; query += " where UsersDzialy.IDEUser = @PARAM)))"; SqlCommand command = new SqlCommand(); command.CommandText = query; command.Connection = new SqlConnection(ConnString.getConnString().ZamowieniaConnStr); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = command; command.Parameters.AddWithValue("@PARAM", User.getUser().IDE); DateTime dzien = ((DateTimePicker)((ToolStripControlHost)szukajToolStrip.Items["dtp"]).Control).Value; if (dzien != null) { command.CommandText += " and year(ZamowienieData)=@rok and month(ZamowienieData)=@ms and day(ZamowienieData)=@dzien "; command.Parameters.AddWithValue("@rok", dzien.Year); command.Parameters.AddWithValue("@ms", dzien.Month); command.Parameters.AddWithValue("@dzien", dzien.Day); } zamowieniaDataSet.view_Zamowienia.Clear(); adapter.Fill(zamowieniaDataSet.view_Zamowienia); this.refreshCommand = command; this.queryExist = true; this.Cursor = Cursors.Default; } private void dzisiajToolStripButton_Click(object sender, EventArgs e) { danePoczatkowe(); } private void userToolStripButton_Click(object sender, EventArgs e) { AdminFormZamowienie af = new AdminFormZamowienie(); af.Show(); } private void mailToolStripButton_Click(object sender, EventArgs e) { if (viewZamowieniaBindingSource.Current != null) { DataRowView row = (DataRowView)viewZamowieniaBindingSource.Current; int IDE = Convert.ToInt32(row["IDE"]); MailForm mailForm = new MailForm(); ZamowienieMail.initMailForm(mailForm, IDE); mailForm.ShowDialog(); } } private void toolStripButton2_Click(object sender, EventArgs e) { if (viewZamowieniaBindingSource.List.Count > 0) { List lista = new List(); foreach (DataRowView row in viewZamowieniaBindingSource.List) { lista.Add(Convert.ToInt32(row["IDE"])); } ZamowienieViewer zv = new ZamowienieViewer(lista); zv.ShowDialog(); } } private void wydrukPojToolStripButton_Click(object sender, EventArgs e) { if (viewZamowieniaBindingSource.Current != null) { List lista = new List(); DataRowView row = (DataRowView)viewZamowieniaBindingSource.Current; lista.Add(Convert.ToInt32(row["IDE"])); ZamowienieViewer zv = new ZamowienieViewer(lista); zv.ShowDialog(); } } private void exportToolStripButton_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; ExcelHandler ex = new ExcelHandler(); ex.exportToExcel(zamowieniaDataGridView); this.Cursor = Cursors.Default; } /* private void zamowieniaDataGridView_KeyPress(object sender, KeyPressEventArgs e) { /* if (e.KeyChar == 13) { /* //toolStripButton3.PerformClick(); /* if (viewZamowieniaBindingSource.Current != null) { DataRowView row = (DataRowView)viewZamowieniaBindingSource.Current; int IDE = Convert.ToInt32(row["IDE"]); zamowienieForm zf = new zamowienieForm(IDE, false); zf.ShowDialog(); } MessageBox.Show("dupa"); } }*/ } }