using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Windows.Forms; using System.IO; using System.Text; using Baza_Reklam.Classes; namespace Baza_Reklam { public partial class ProductionForm : Form { //Nr wydań wg których generowane są listy do klientów private static ProductionForm productionForm; private SqlCommand command; private short nrAMT; private short nrGS1; private short nrGS2; private short nrWyd; private string query = "select * from dbo.PRODUKCJA where 1=1 "; //zapytanie wybierające projekty będące w stanie produkcji private string queryDzisiaj; private SqlDataAdapter sqlDataAdapter; private string tyt; private ProductionForm(MDIBazaReklam parent) { InitializeComponent(); MdiParent = parent; gRZBIETYTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; aGENCJETableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; aGENCITableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; lISTA_TYTULOWTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; reklamaTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; pRODUKCJATableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; listaReklamDoWydaniaNrTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; aGENCJETableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; aGENCITableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; listyTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; listyPodsumowanieTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; klienciTableAdapter1.Connection.ConnectionString = ConnString.getConnString().Value; zwrotToolStripButton.Enabled = false; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = false; doKorektyToolStripButton.Enabled = false; doDTP2ToolStripButton.Enabled = false; doKorekty2ToolStripButton.Enabled = false; doAgentaToolStripButton.Enabled = false; produkcjaDataGridView.Sort(zAMAWIAMNADataGridViewTextBoxColumn, ListSortDirection.Descending); queryDzisiaj = buildQuery(); uprawnienia(); nrAMTToolStripTextBox.Text = Global.getGlobal().NrAMT.ToString(); nrGS1ToolStripTextBox.Text = Global.getGlobal().NrGS1.ToString(); nrGS2ToolStripTextBox.Text = Global.getGlobal().NrGS2.ToString(); dateTimePicker1.Value = DateTime.Today; if (!ConnString.getConnString().Value.Contains("truck")) { //w Sampressie w tej kolumnie jest zapisana wersja językowa projektu/ w bazie CT niewykorzystywane szkic.Visible = false; } } public static ProductionForm getProductionForm(MDIBazaReklam parent) { if (productionForm == null) { productionForm = new ProductionForm(parent); } return productionForm; } private void ProductionForm_Load(object sender, EventArgs e) { aGENCJETableAdapter.Fill(sLOWNIKDataSet.AGENCJE); aGENCITableAdapter.Fill(sLOWNIKDataSet.AGENCI); gRZBIETYTableAdapter.Fill(sLOWNIKDataSet.GRZBIETY); lISTA_TYTULOWTableAdapter.Fill(sLOWNIKDataSet.LISTA_TYTULOW); tytulComboBox.SelectedIndex = 1; tytulComboBox.SelectedIndex = 0; SqlConnection conn = new SqlConnection(ConnString.getConnString().Value); sqlDataAdapter = new SqlDataAdapter(); command = new SqlCommand(); command.CommandText = queryDzisiaj; command.CommandType = CommandType.Text; command.Connection = conn; sqlDataAdapter.SelectCommand = command; sqlDataAdapter.Fill(rEKLAMADataSet.PRODUKCJA); } private void dataGridView1_SelectionChanged(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; plikToolStripTextBox.Text = Convert.ToString(row["PLIK"]); } zablokujButtony(); } private void zwrotToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { wylaczSortowanieGrida(); DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["PRODUKCJA"] = User.getUser().Login; row["DATA_PRODUKCJA"] = DateTime.Now; // na koncu,bo moze byc sortowanie po stanie row["stan"] = "ZWROT Z PRODUKCJI"; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); zablokujButtony(); wlaczSortowanieGrida(); } } private void doDTPToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { wylaczSortowanieGrida(); DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["PRODUKCJA"] = User.getUser().Login; row["DATA_PRODUKCJA"] = DateTime.Now; // na koncu,bo moze byc sortowanie po stanie row["stan"] = "DO DTP"; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); zablokujButtony(); wlaczSortowanieGrida(); } } private void proToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { wylaczSortowanieGrida(); DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; REKLAMADataSet.PRODUKCJADataTable t = pRODUKCJATableAdapter.GetDataById(Convert.ToInt32(row["ID"])); if (!t[0].IsDTPNull()) { if ( MessageBox.Show("Zlecenie jest już w DTP. Czy chcesz je przejąć ?", "", MessageBoxButtons.YesNo) == DialogResult.No) { return; } } row["DTP"] = User.getUser().Login; row["DATA_DTP"] = DateTime.Now; // na koncu,bo moze byc sortowanie po stanie row["stan"] = "W DTP"; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); zablokujButtony(); wlaczSortowanieGrida(); } } private void doKorektyToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { wylaczSortowanieGrida(); DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["stan"] = "DO KOREKTY"; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); zablokujButtony(); wlaczSortowanieGrida(); } } private void doDTP2ToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { wylaczSortowanieGrida(); DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["KOREKTA"] = User.getUser().Login; row["DATA_KOREKTA"] = DateTime.Now; // na koncu,bo moze byc sortowanie po stanie row["stan"] = "PO KOREKCIE"; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); zablokujButtony(); wlaczSortowanieGrida(); } } private void doKorekty2ToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { wylaczSortowanieGrida(); DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["DTP_PO_KOR"] = User.getUser().Login; row["DATA_DTP_PO_KOR"] = DateTime.Now; // na koncu,bo moze byc sortowanie po stanie row["stan"] = "W 2 KOREKCIE"; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); zablokujButtony(); wlaczSortowanieGrida(); } } private void doAgentaToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { wylaczSortowanieGrida(); DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["DTP_PO_KOR"] = User.getUser().Login; row["DATA_DTP_PO_KOR"] = DateTime.Now; //row["DATA_AKCEPTACJI"] = DateTime.Now; row["stan"] = "DO AKCEPTACJI"; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); zablokujButtony(); wlaczSortowanieGrida(); } } private void akceptToolStripButton_Click(object sender, EventArgs e) { if (ocenaToolStripComboBox.SelectedIndex == -1) { MessageBox.Show("Oceń projekt"); } else { if (pRODUKCJABindingSource.Current != null) { wylaczSortowanieGrida(); DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["DATA_AKCEPTACJI"] = DateTime.Now; row["ocena"] = ocenaToolStripComboBox.Items[ocenaToolStripComboBox.SelectedIndex]; // na koncu,bo moze byc sortowanie po stanie row["stan"] = "ZAAKCEPTOWANE"; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); zablokujButtony(); wlaczSortowanieGrida(); } } } private void nieakceptToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { wylaczSortowanieGrida(); DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["DATA_AKCEPTACJI"] = DateTime.Now; row["ocena"] = -1; // na koncu,bo moze byc sortowanie po stanie row["stan"] = "NIEZAAKCEPTOWANE"; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); zablokujButtony(); wlaczSortowanieGrida(); } } private void produkcjaDataGridView_CellLeave(object sender, DataGridViewCellEventArgs e) { pRODUKCJABindingSource.CancelEdit(); } private void szukajToolStripButton_Click(object sender, EventArgs e) { if (stanToolStripComboBox.SelectedIndex != -1) { Cursor = Cursors.WaitCursor; command.CommandText = query; command.Parameters.Clear(); string status = stanToolStripComboBox.SelectedItem.ToString(); if (status == "*W PRODUKCJI*") { command.CommandText += " AND STAN!='ZAAKCEPTOWANE' AND STAN!='NIEZAAKCEPTOWANE' AND STAN!='DO AKCEPTACJI' AND STAN!='ZWROT Z PRODUKCJI'"; } else { command.CommandText += " AND STAN=@stan "; command.Parameters.AddWithValue("@stan", status); //wybieramy z ostatnich 3 miesiecy if (status == "NIEZAAKCEPTOWANE" || status == "ZAAKCEPTOWANE" || status == "ZWROT Z PRODUKCJI") { command.CommandText += "AND datediff(month,DATA_AGENT,getdate()) <= 3 "; } } command.CommandText += "order by DATA_AGENT desc"; rEKLAMADataSet.PRODUKCJA.Clear(); sqlDataAdapter.Fill(rEKLAMADataSet.PRODUKCJA); Cursor = Cursors.Default; } } private void dzisiajToolStripButton_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; command.CommandText = queryDzisiaj; sqlDataAdapter.SelectCommand = command; rEKLAMADataSet.PRODUKCJA.Clear(); sqlDataAdapter.Fill(rEKLAMADataSet.PRODUKCJA); Cursor = Cursors.Default; } /// /// Wczytuje listę reklam na wskazane wydanie i sprawdza czy istnieją pliki do reklam /// private void button1_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; listaReklamDoWydaniaNrBindingSource.Filter = ""; grzbietyComboBox.SelectedIndex = -1; if ((tytulComboBox.Text.Trim() != "") && (nrWydaniaTextBox.Text.Trim() != "")) { short nr = Convert.ToInt16(nrWydaniaTextBox.Text); nrWyd = nr; tyt = tytulComboBox.Text; listaReklamDoWydaniaNrTableAdapter.Fill2Produkcja(rEKLAMADataSet.ListaReklamDoWydaniaNr, tytulComboBox.Text, nr); sprawdzPlikiDlaWszystkichReklam(); } spisPlikowDataGridView.Refresh(); Cursor = Cursors.Default; } /// /// Otwiera plik xtg. Zczytuje z niego reklamy do listy obiektów Reklama. /// Wpisuje znalezione strony do tabeli. /// private void XTGbutton_Click(object sender, EventArgs e) { openFileDialog.InitialDirectory = "R:\\MAKIETY\\QUARK\\" + tyt + nrWyd; openFileDialog.DefaultExt = "xtg"; if (openFileDialog.ShowDialog() == DialogResult.OK) { xtgTextBox.Text = openFileDialog.FileName; XTGFile xtgfile = new XTGFile(); List lista = xtgfile.zczytajStronyZplikuXTG(openFileDialog.FileName); wpiszStronyDoTabeli(lista); spisPlikowDataGridView.Sort(IdReklamyColumn, ListSortDirection.Ascending); StringBuilder message = new StringBuilder(); message.AppendLine("Wczytywanie stron z pliku " + openFileDialog.FileName + " zakończone. "); message.AppendLine("Niewczytane reklamy: "); foreach (Reklama r in lista) { if (!r.wpisana) { message.AppendLine(r.nrRek); } } MessageBox.Show(message.ToString()); } } public void wpiszStronyDoTabeli(List lista) { Cursor = Cursors.WaitCursor; foreach (DataRowView r in listaReklamDoWydaniaNrBindingSource.List) { foreach (Reklama reklama in lista) { if (r["id reklamy"].ToString().ToLower().Contains(reklama.nrRek.ToLower())) { short test; bool result = Int16.TryParse(reklama.costam[1], out test); // r["strona"] = Convert.ToInt16(); if (result) { r["strona"] = test; reklama.wpisana = true; } } } } rEKLAMADataSet.ListaReklamDoWydaniaNr.AcceptChanges(); Cursor = Cursors.Default; } /// /// Usuwa poprzednie informacje o stronach i zapisuje nowe strony. W tabeli strona nie ma /// kolumny wyznaczającej tytuł, więc sprawdza grzbiet. /// private void zapiszStronyButton_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; SqlCommand command = new SqlCommand(); command.Connection = new SqlConnection(ConnString.getConnString().Value); if (listaReklamDoWydaniaNrBindingSource.Filter == "") { command.CommandText = "delete from dbo.REKLAMA_STRONA where nr_wydania=@nrWyd" + " and ID_GRZBIETU in (select ID from dbo.GRZBIETY where Nazwa like '%'+ @tytul + '%')"; command.Parameters.Clear(); command.Parameters.AddWithValue("@nrWyd", nrWyd); command.Parameters.AddWithValue("@tytul", tyt); } else { command.CommandText = "delete from dbo.REKLAMA_STRONA where nr_wydania=@nrWyd" + " and ID_GRZBIETU = @idGrzbietu"; command.Parameters.Clear(); command.Parameters.AddWithValue("@nrWyd", nrWyd); command.Parameters.AddWithValue("@tytul", tyt); command.Parameters.AddWithValue("@idGrzbietu", grzbietyComboBox.SelectedValue); } command.Connection.Open(); command.ExecuteNonQuery(); command.Connection.Close(); command.CommandText = "insert into reklama_strona values(@idRek,@nrWyd,@idGrzbiet,@nrStrony);"; command.Connection.Open(); foreach (DataGridViewRow row in spisPlikowDataGridView.Rows) { //reklam bez stron i dla autosalonu nie zapisuje w bazie if ((row.Cells["strona"].Value != null) & (Convert.ToInt32(row.Cells["grzbiet"].Value) != 9)) { command.Parameters.Clear(); command.Parameters.AddWithValue("@idRek", row.Cells["reklamaId"].Value); command.Parameters.AddWithValue("@nrWyd", row.Cells["NR"].Value); command.Parameters.AddWithValue("@idGrzbiet", row.Cells["Grzbiet"].Value); command.Parameters.AddWithValue("@nrStrony", row.Cells["strona"].Value); try { command.ExecuteNonQuery(); } catch (Exception e1) { MessageBox.Show(e1.Message); } } } command.Connection.Close(); Cursor = Cursors.Default; MessageBox.Show("Zapisano strony"); } private void spisPlikowDataGridView_SelectionChanged(object sender, EventArgs e) { if (listaReklamDoWydaniaNrBindingSource.Current != null) { DataRowView row = (DataRowView) listaReklamDoWydaniaNrBindingSource.Current; pobierzSciezki(row); } } /// /// Sprawdza ścieżki do plików JPG (PDF), CDR, EPS dla danego projektu. /// Jeżeli pliki istnieją uzupełnia informację o datach. /// private void pobierzSciezki(DataRowView row) { string idReklamy = row["id reklamy"].ToString(); string tytul = row["TYTUŁ"].ToString(); int idGrzbietu = Convert.ToInt32(row["GRZBIET"]); string miasto = row["miasto"].ToString(); byte staryNowyArchiwum = 0; string plikJPG = Produkcja.GetReklamaFileName(idReklamy, tytul, idGrzbietu, miasto, staryNowyArchiwum, "jpg"); string plikPDF = Produkcja.GetReklamaFileName(idReklamy, tytul, idGrzbietu, miasto, staryNowyArchiwum, "pdf"); string plikEPS = Produkcja.GetReklamaFileName(idReklamy, tytul, idGrzbietu, miasto, staryNowyArchiwum, "eps"); string plikCDR = Produkcja.GetReklamaFileName(idReklamy, tytul, idGrzbietu, miasto, staryNowyArchiwum, "cdr"); if (File.Exists(plikCDR)) { DateTime data = File.GetLastWriteTime(plikCDR); CDRTextBox.Text = plikCDR; CDRdataTextBox.Text = data.ToString(); CDRbutton.Enabled = true; } else { CDRTextBox.Text = ""; CDRdataTextBox.Text = ""; CDRbutton.Enabled = false; } if (File.Exists(plikEPS)) { DateTime data = File.GetLastWriteTime(plikEPS); EPSTextBox.Text = plikEPS; EPSdataTextBox.Text = data.ToString(); EPSbutton.Enabled = true; } else { EPSTextBox.Text = ""; EPSdataTextBox.Text = ""; EPSbutton.Enabled = false; } if (File.Exists(plikJPG)) { DateTime data = File.GetLastWriteTime(plikJPG); JPGTextBox.Text = plikJPG; JPGdataTextBox.Text = data.ToString(); JPGbutton.Enabled = true; } else if (File.Exists(plikPDF)) { DateTime data = File.GetLastWriteTime(plikPDF); JPGTextBox.Text = plikPDF; JPGdataTextBox.Text = data.ToString(); JPGbutton.Enabled = true; } else { JPGTextBox.Text = ""; JPGdataTextBox.Text = ""; JPGbutton.Enabled = false; } } /// /// Sprawdza dla wszytskich reklam czy istnieją pliki JPG,CDR, EPS. /// private void sprawdzPlikiDlaWszystkichReklam() { CDRColumn.SortMode = DataGridViewColumnSortMode.NotSortable; EPSColumn.SortMode = DataGridViewColumnSortMode.NotSortable; JPGColumn.SortMode = DataGridViewColumnSortMode.NotSortable; foreach (DataRowView row in listaReklamDoWydaniaNrBindingSource.List) { if (row["id reklamy"] != DBNull.Value) { string idReklamy = row["Id Reklamy"].ToString(); string tytul = row["TYTUŁ"].ToString(); int idGrzbietu = 0; if (row["GRZBIET"] != DBNull.Value) { idGrzbietu = Convert.ToInt32(row["GRZBIET"]); } string miasto = row["miasto"].ToString(); byte staryNowyArchiwum = 0; string plikJPG = Produkcja.GetReklamaFileName(idReklamy, tytul, idGrzbietu, miasto, staryNowyArchiwum, "jpg"); string plikPDF = Produkcja.GetReklamaFileName(idReklamy, tytul, idGrzbietu, miasto, staryNowyArchiwum, "pdf"); string plikEPS = Produkcja.GetReklamaFileName(idReklamy, tytul, idGrzbietu, miasto, staryNowyArchiwum, "eps"); string plikCDR = Produkcja.GetReklamaFileName(idReklamy, tytul, idGrzbietu, miasto, staryNowyArchiwum, "cdr"); if (File.Exists(plikCDR)) { row["jestCDR"] = true; } if (File.Exists(plikEPS)) { row["jestEPS"] = true; } if (File.Exists(plikJPG) || File.Exists(plikPDF)) { row["jestJPG"] = true; } } } CDRColumn.SortMode = DataGridViewColumnSortMode.Automatic; EPSColumn.SortMode = DataGridViewColumnSortMode.Automatic; JPGColumn.SortMode = DataGridViewColumnSortMode.Automatic; } private void uprawnienia() { usunToolStripButton.Enabled = User.getUser().St_kierownik | User.getUser().St_produkcja; zamowienieToolStripButton.Visible = User.getUser().St_produkcja | User.getUser().St_handlowiec | User.getUser().St_subhandlowiec | User.getUser().St_kierownik; klientToolStripButton.Visible = User.getUser().St_produkcja | User.getUser().St_handlowiec | User.getUser().St_subhandlowiec | User.getUser().St_kierownik; zwrotToolStripButton.Enabled = User.getUser().St_produkcja | User.getUser().St_korekta | User.getUser().St_dtp; doDTPToolStripButton.Enabled = User.getUser().St_produkcja; proToolStripButton.Enabled = User.getUser().St_dtp; doKorektyToolStripButton.Enabled = User.getUser().St_dtp; doDTP2ToolStripButton.Enabled = User.getUser().St_korekta; doKorekty2ToolStripButton.Enabled = User.getUser().St_dtp; doAgentaToolStripButton.Enabled = User.getUser().St_korekta | User.getUser().St_dtp; akceptToolStripButton.Enabled = User.getUser().St_handlowiec | User.getUser().St_subhandlowiec | User.getUser().St_kierownik; nieakceptToolStripButton.Enabled = User.getUser().St_handlowiec | User.getUser().St_subhandlowiec | User.getUser().St_kierownik; if (!(User.getUser().St_produkcja | User.getUser().St_kierownik | User.getUser().St_dtp)) { tabControl1.TabPages.Remove(spisTabPage); tabControl1.TabPages.Remove(listyDoKlientowTabPage); } zapiszStronyButton.Enabled = User.getUser().St_produkcja | User.getUser().St_kierownik; } /// /// Blokuje buttony w zależności od uprawnień i stanu projektu. /// private void zablokujButtony() { if (pRODUKCJABindingSource.Current != null) { DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; uprawnienia(); string agent = row["agent"].ToString(); switch (row["stan"].ToString()) { case "ZAMAWIAM": zwrotToolStripButton.Enabled = zwrotToolStripButton.Enabled & true; doDTPToolStripButton.Enabled = doDTPToolStripButton.Enabled & true; proToolStripButton.Enabled = proToolStripButton.Enabled & false; doKorektyToolStripButton.Enabled = doKorektyToolStripButton.Enabled & false; doDTP2ToolStripButton.Enabled = doDTP2ToolStripButton.Enabled & false; doKorekty2ToolStripButton.Enabled = doKorekty2ToolStripButton.Enabled & false; doAgentaToolStripButton.Enabled = doAgentaToolStripButton.Enabled & false; akceptToolStripButton.Enabled = false; nieakceptToolStripButton.Enabled = false; break; case "DO DTP": zwrotToolStripButton.Enabled = zwrotToolStripButton.Enabled & true; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = proToolStripButton.Enabled & true; doKorektyToolStripButton.Enabled = doKorektyToolStripButton.Enabled & false; doDTP2ToolStripButton.Enabled = doDTP2ToolStripButton.Enabled & false; doKorekty2ToolStripButton.Enabled = doKorekty2ToolStripButton.Enabled & false; doAgentaToolStripButton.Enabled = doAgentaToolStripButton.Enabled & false; akceptToolStripButton.Enabled = false; nieakceptToolStripButton.Enabled = false; break; case "W DTP": zwrotToolStripButton.Enabled = zwrotToolStripButton.Enabled & true; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = proToolStripButton.Enabled & true; doKorektyToolStripButton.Enabled = doKorektyToolStripButton.Enabled & true; doDTP2ToolStripButton.Enabled = doDTP2ToolStripButton.Enabled & false; doKorekty2ToolStripButton.Enabled = doKorekty2ToolStripButton.Enabled & false; doAgentaToolStripButton.Enabled = doAgentaToolStripButton.Enabled & false; akceptToolStripButton.Enabled = false; nieakceptToolStripButton.Enabled = false; break; case "DO KOREKTY": zwrotToolStripButton.Enabled = zwrotToolStripButton.Enabled & true; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = false; doKorektyToolStripButton.Enabled = false; doDTP2ToolStripButton.Enabled = doDTP2ToolStripButton.Enabled & true; doKorekty2ToolStripButton.Enabled = false; doAgentaToolStripButton.Enabled = doAgentaToolStripButton.Enabled & false; akceptToolStripButton.Enabled = false; nieakceptToolStripButton.Enabled = false; break; case "PO KOREKCIE": zwrotToolStripButton.Enabled = zwrotToolStripButton.Enabled & true; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = false; doKorektyToolStripButton.Enabled = false; doDTP2ToolStripButton.Enabled = false; doKorekty2ToolStripButton.Enabled = doKorekty2ToolStripButton.Enabled & true; doAgentaToolStripButton.Enabled = doAgentaToolStripButton.Enabled & true; akceptToolStripButton.Enabled = false; nieakceptToolStripButton.Enabled = false; break; case "W 2 KOREKCIE": zwrotToolStripButton.Enabled = zwrotToolStripButton.Enabled & true; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = false; doKorektyToolStripButton.Enabled = false; doDTP2ToolStripButton.Enabled = doDTP2ToolStripButton.Enabled & true; doKorekty2ToolStripButton.Enabled = false; doAgentaToolStripButton.Enabled = false; akceptToolStripButton.Enabled = false; nieakceptToolStripButton.Enabled = false; break; case "NIEZAAKCEPTOWANE": zwrotToolStripButton.Enabled = false; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = false; doKorektyToolStripButton.Enabled = false; doDTP2ToolStripButton.Enabled = false; doKorekty2ToolStripButton.Enabled = false; doAgentaToolStripButton.Enabled = false; if ((User.getUser().St_handlowiec) && (!User.getUser().St_kierownik)) { //handlowiec moze akceptowac tylko swoje projekty bool ok = agent.ToLower() == User.getUser().Symbol_agenta.ToLower() ? true : false; akceptToolStripButton.Enabled = akceptToolStripButton.Enabled & true & ok; nieakceptToolStripButton.Enabled = nieakceptToolStripButton.Enabled & true & ok; } else { akceptToolStripButton.Enabled = akceptToolStripButton.Enabled & true; nieakceptToolStripButton.Enabled = nieakceptToolStripButton.Enabled & true; } break; case "DO AKCEPTACJI": zwrotToolStripButton.Enabled = false; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = false; doKorektyToolStripButton.Enabled = false; doDTP2ToolStripButton.Enabled = false; doKorekty2ToolStripButton.Enabled = false; doAgentaToolStripButton.Enabled = false; if ((User.getUser().St_handlowiec) && (!User.getUser().St_kierownik)) { //handlowiec moze akceptowac tylko swoje projekty bool ok = agent.ToLower() == User.getUser().Symbol_agenta.ToLower() ? true : false; akceptToolStripButton.Enabled = akceptToolStripButton.Enabled & true & ok; nieakceptToolStripButton.Enabled = nieakceptToolStripButton.Enabled & true & ok; } else { akceptToolStripButton.Enabled = akceptToolStripButton.Enabled & true; nieakceptToolStripButton.Enabled = nieakceptToolStripButton.Enabled & true; } break; case "ZAAKCEPTOWANE": zwrotToolStripButton.Enabled = false; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = false; doKorektyToolStripButton.Enabled = false; doDTP2ToolStripButton.Enabled = false; doKorekty2ToolStripButton.Enabled = false; doAgentaToolStripButton.Enabled = false; if ((User.getUser().St_handlowiec) && (!User.getUser().St_kierownik)) { //handlowiec moze akceptowac tylko swoje projekty bool ok = agent.ToLower() == User.getUser().Symbol_agenta.ToLower() ? true : false; akceptToolStripButton.Enabled = akceptToolStripButton.Enabled & true & ok; nieakceptToolStripButton.Enabled = nieakceptToolStripButton.Enabled & true & ok; } else { akceptToolStripButton.Enabled = akceptToolStripButton.Enabled & true; nieakceptToolStripButton.Enabled = nieakceptToolStripButton.Enabled & true; } break; case "ZWROT Z PRODUKCJI": zwrotToolStripButton.Enabled = false; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = false; doKorektyToolStripButton.Enabled = false; doDTP2ToolStripButton.Enabled = false; doKorekty2ToolStripButton.Enabled = false; doAgentaToolStripButton.Enabled = false; akceptToolStripButton.Enabled = false; nieakceptToolStripButton.Enabled = false; break; default: zwrotToolStripButton.Enabled = false; doDTPToolStripButton.Enabled = false; proToolStripButton.Enabled = false; doKorektyToolStripButton.Enabled = false; doDTP2ToolStripButton.Enabled = false; doKorekty2ToolStripButton.Enabled = false; doAgentaToolStripButton.Enabled = false; akceptToolStripButton.Enabled = false; nieakceptToolStripButton.Enabled = false; break; } } } private void EPSbutton_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start(EPSTextBox.Text); } private void JPGbutton_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start(JPGTextBox.Text); } private void CDRbutton_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start(CDRTextBox.Text); } private void spisPlikowDataGridView_CellLeave(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0) { listaReklamDoWydaniaNrBindingSource.CancelEdit(); } } private void podgladToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { Cursor = Cursors.WaitCursor; DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; int reklamaId = Convert.ToInt32(row["reklamaId"]); string idReklamy = row["NAZWA_ZAMOWIENIA"].ToString(); string tytul; int grzbiet; string miasto; byte staryNowyArchiwum; Produkcja.argumentyDoSciezki(reklamaId, idReklamy, out tytul, out grzbiet, out miasto, out staryNowyArchiwum); string sciezka = Produkcja.GetReklamaFileName(idReklamy, tytul, grzbiet, miasto, staryNowyArchiwum, "pdf"); if (File.Exists(sciezka)) { System.Diagnostics.Process.Start(sciezka); } else { MessageBox.Show("Nie znaleziono pliku: " + sciezka); } Cursor = Cursors.Default; } } private void podgladJPGToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { Cursor = Cursors.WaitCursor; DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; int reklamaId = Convert.ToInt32(row["reklamaId"]); string idReklamy = row["NAZWA_ZAMOWIENIA"].ToString(); string tytul; int grzbiet; string miasto; byte staryNowyArchiwum; Produkcja.argumentyDoSciezki(reklamaId, idReklamy, out tytul, out grzbiet, out miasto, out staryNowyArchiwum); string sciezka = Produkcja.GetReklamaFileName(idReklamy, tytul, grzbiet, miasto, staryNowyArchiwum, "jpg"); if (File.Exists(sciezka)) { System.Diagnostics.Process.Start(sciezka); } else { MessageBox.Show("Nie znaleziono pliku: " + sciezka); } Cursor = Cursors.Default; } } private void produkcjaDataGridView_Leave(object sender, EventArgs e) { ukrytyLabel.Select(); } private void zamowienieToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; int idRek = Convert.ToInt32(row["ReklamaId"]); reklamaTableAdapter.FillByReklamaId(rEKLAMADataSet.REKLAMA, idRek); OrderDetails.getOrderDetails().pokazSzczegolyZamowienia(idRek); OrderDetails.getOrderDetails().ShowDialog(); } } private void projektToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; int idRek = Convert.ToInt32(row["ReklamaId"]); int idPro = Convert.ToInt32(row["ID"]); ProjectForm pf = new ProjectForm(idRek, idPro); if (pf.ShowDialog() == DialogResult.OK) { rEKLAMADataSet.PRODUKCJA.Clear(); sqlDataAdapter.Fill(rEKLAMADataSet.PRODUKCJA); } } } private void wczytajPlikButton_Click(object sender, EventArgs e) { if (projektOpenFileDialog.ShowDialog() == DialogResult.OK) { if (pRODUKCJABindingSource.Current != null) { DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["PLIK"] = projektOpenFileDialog.FileName; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); } } } private void drukujToolStripButton_Click(object sender, EventArgs e) { PrintDGV.Print_DataGridView(produkcjaDataGridView, 50); } private void wyczyscPolaToolStripButton_Click(object sender, EventArgs e) { stanToolStripComboBox.SelectedIndex = -1; symbolToolStripTextBox.Clear(); } private void tytulComboBox_SelectedIndexChanged(object sender, EventArgs e) { switch (tytulComboBox.Text) { case "AMT": gRZBIETYBindingSource.Filter = "Nazwa like '%AMT%'"; grzbietyComboBox.SelectedIndex = -1; break; case "GS": gRZBIETYBindingSource.Filter = "Nazwa like '%GS%'"; grzbietyComboBox.SelectedIndex = -1; break; case "adMot": gRZBIETYBindingSource.Filter = "Nazwa like '%adM%'"; grzbietyComboBox.SelectedIndex = -1; break; default: gRZBIETYBindingSource.Filter = ""; grzbietyComboBox.SelectedIndex = -1; break; } } private void szukajToolStripButton2_Click(object sender, EventArgs e) { if (symbolToolStripTextBox.Text.Trim() != "") { Cursor = Cursors.WaitCursor; command.Parameters.Clear(); command.CommandText = " select top 100 * from dbo.PRODUKCJA where NAZWA_ZAMOWIENIA like '%' + @symbol + '%' order by DATA_AGENT desc "; command.Parameters.AddWithValue("@symbol", symbolToolStripTextBox.Text); rEKLAMADataSet.PRODUKCJA.Clear(); sqlDataAdapter.Fill(rEKLAMADataSet.PRODUKCJA); Cursor = Cursors.Default; } } /// /// Buduje zapytanie filtrujace projekty wg uprawnien /// private string buildQuery() { string str = "select * from dbo.PRODUKCJA where STAN!='ZAAKCEPTOWANE' AND STAN!='NIEZAAKCEPTOWANE' AND STAN!='ZWROT Z PRODUKCJI'"; if (User.getUser().St_produkcja) { str = "select * from dbo.PRODUKCJA where STAN!='ZAAKCEPTOWANE' AND STAN!='NIEZAAKCEPTOWANE' AND STAN!='ZWROT Z PRODUKCJI'"; return str; } if (User.getUser().St_kierownik) { str = "select dbo.PRODUKCJA.* from dbo.PRODUKCJA left join dbo.AGENCI " + " on dbo.PRODUKCJA.AGENT = dbo.AGENCI.Symbol left join dbo.AGENCJE " + " on dbo.AGENCJE.Id_agencji = dbo.AGENCI.ID_AGENCJI where STAN!='ZAAKCEPTOWANE' " + " AND STAN!='NIEZAAKCEPTOWANE' AND STAN!='ZWROT Z PRODUKCJI' AND dbo.AGENCJE.Id_agencji=" + User.getUser().IdAgencji; return str; } if (User.getUser().St_handlowiec | User.getUser().St_subhandlowiec) { str = "select * from dbo.PRODUKCJA where STAN!='ZAAKCEPTOWANE' AND STAN!='NIEZAAKCEPTOWANE' AND datediff(day,DATA_AGENT,getdate()) <= 30 "; str += " AND AGENT='" + User.getUser().Symbol_agenta + "'"; return str; } if (User.getUser().St_dtp) { str = "select * from dbo.PRODUKCJA where STAN='DO DTP' OR STAN='W DTP' OR STAN='PO KOREKCIE' "; return str; } if (User.getUser().St_korekta) { str = "select * from dbo.PRODUKCJA where STAN='DO KOREKTY' OR STAN='W 2 KOREKCIE' "; return str; } return str; } private void wczytajPlikToolStripButton_Click(object sender, EventArgs e) { if (projektOpenFileDialog.ShowDialog() == DialogResult.OK) { if (pRODUKCJABindingSource.Current != null) { DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; row["PLIK"] = projektOpenFileDialog.FileName; pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); plikToolStripTextBox.Text = Convert.ToString(row["PLIK"]); } } } private void otworzPlikToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; if (row["PLIK"] != DBNull.Value) { string plik = Convert.ToString(row["PLIK"]); if (File.Exists(plik)) { System.Diagnostics.Process.Start(plik); } else { MessageBox.Show("Nie można odnależć pliku"); } } else { MessageBox.Show("Podaj ścieżkę do pliku."); } } } private void spisPlikowDataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e) { spisPlikowDataGridView.CancelEdit(); } private void grzbietyComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (grzbietyComboBox.SelectedIndex != -1) { listaReklamDoWydaniaNrBindingSource.Filter = "GRZBIET=" + grzbietyComboBox.SelectedValue; } } private void znajdzKlientowToolStripButton_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; Int16.TryParse(nrAMTToolStripTextBox.Text.Trim(), out nrAMT); Int16.TryParse(nrGS1ToolStripTextBox.Text.Trim(), out nrGS1); Int16.TryParse(nrGS2ToolStripTextBox.Text.Trim(), out nrGS2); listyTableAdapter.Fill(rEKLAMADataSet.Listy, nrAMT, nrGS1, nrGS2); listyPodsumowanieTableAdapter.Fill(rEKLAMADataSet.ListyPodsumowanie, nrAMT, nrGS1, nrGS2); Cursor = Cursors.Default; } private void podgladListuToolStripButton_Click(object sender, EventArgs e) { listyDataGridView.EndEdit(); if (listyBindingSource.Current != null) { Cursor = Cursors.WaitCursor; DataRowView row = (DataRowView) listyBindingSource.Current; int custId = Convert.ToInt32(row["custId"]); LetterViewer lv = new LetterViewer(custId, nrAMT, nrGS1, nrGS2, dateTimePicker1.Value); lv.ShowDialog(); Cursor = Cursors.Default; } } private void toolStripButton1_Click(object sender, EventArgs e) { listyDataGridView.EndEdit(); foreach (DataRowView r in listyBindingSource.List) { r["drukuj"] = !Convert.ToBoolean(r["drukuj"]); } listyBindingSource.ResetBindings(false); } /// /// Ustawia kolejność do druku. /// private void ustawKolejnoscToolStripButton_Click(object sender, EventArgs e) { if (listyDataGridView.SortedColumn != null) { DataGridViewColumn c = listyDataGridView.SortedColumn; listyDataGridView.SortedColumn.SortMode = DataGridViewColumnSortMode.NotSortable; listyBindingSource.Sort = "suma DESC, ilosc DESC"; c.SortMode = DataGridViewColumnSortMode.Automatic; } } private void toolStripButton2_Click(object sender, EventArgs e) { listyDataGridView.EndEdit(); if (listyBindingSource.List.Count != 0) { List klienci = new List(); int custId; foreach (DataRowView r in listyBindingSource.List) { if (Convert.ToBoolean(r["drukuj"])) { custId = Convert.ToInt32(r["custId"]); klienci.Add(custId); } } Cursor = Cursors.WaitCursor; LetterViewer lv = new LetterViewer(klienci, nrAMT, nrGS1, nrGS2, dateTimePicker1.Value); lv.ShowDialog(); } Cursor = Cursors.Default; } private void klientToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; int idRek = Convert.ToInt32(row["ReklamaId"]); int custId = Utils.customerId(idRek); ClientsForm.getClientsForm((MDIBazaReklam) MdiParent).pokazKlienta(custId); Hide(); ClientsForm.getClientsForm((MDIBazaReklam) MdiParent).Show(); } } private void wyslijProMailemToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { Cursor = Cursors.WaitCursor; DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; string idReklamy = row["NAZWA_ZAMOWIENIA"].ToString(); int reklamaId = Convert.ToInt32(row["reklamaId"]); string tytul; int grzbiet; string miasto; byte staryNowyArchiwum; Produkcja.argumentyDoSciezki(reklamaId, idReklamy, out tytul, out grzbiet, out miasto, out staryNowyArchiwum); string sciezka = Produkcja.GetReklamaFileName(idReklamy, tytul, grzbiet, miasto, staryNowyArchiwum, "jpg"); if (File.Exists(sciezka)) { int custId = Utils.customerId(Convert.ToInt32(row["reklamaId"])); string temat = "Projekt do zamówienia: " + idReklamy; MailForm mf = new MailForm(custId, temat, sciezka); mf.ShowDialog(); } else { MessageBox.Show("Nie znaleziono pliku: " + sciezka); } Cursor = Cursors.Default; } } private void usunToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { if (MessageBox.Show("Czy na pewno chcesz usunąć rekord?", "", MessageBoxButtons.YesNo) == DialogResult.Yes) { pRODUKCJABindingSource.RemoveCurrent(); pRODUKCJABindingSource.EndEdit(); pRODUKCJATableAdapter.Update(rEKLAMADataSet.PRODUKCJA); } } } private void wylaczSortowanieGrida() { foreach (DataGridViewColumn c in produkcjaDataGridView.Columns) { c.SortMode = DataGridViewColumnSortMode.Programmatic; } } private void wlaczSortowanieGrida() { foreach (DataGridViewColumn c in produkcjaDataGridView.Columns) { c.SortMode = DataGridViewColumnSortMode.Automatic; } } private void fullInfoToolStripButton_Click(object sender, EventArgs e) { if (pRODUKCJABindingSource.Current != null) { DataRowView row = (DataRowView) pRODUKCJABindingSource.Current; int id = Convert.ToInt32(row["id"]); FullInfoProjectForm fipf = new FullInfoProjectForm(id); fipf.ShowDialog(); } } private void produkcjaDataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (produkcjaDataGridView["PRIORYTET", e.RowIndex].Value.ToString() == "PILNY") { e.CellStyle.ForeColor = Color.Red; } else { e.CellStyle.ForeColor = Color.Black; } } } }