root/Baza Reklam 2 - Faktury/FacturesFormNEW.cs @ 65

Wersja 65, 27.1 KB (wprowadzona przez dorota, 17 years temu)
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;
9
10namespace Baza_Reklam
11{
12    public partial class FacturesFormNEW : Form
13    {
14        string query = "SELECT top 2000 * from VIEW_ZESTAWIENIE_FAKTUR_NOWE ";
15
16        private static FacturesFormNEW fakturesForm;
17        private SqlCommand command;
18        private SqlDataAdapter sqlDataAdapter;
19
20        private bool commandExecuted = false;
21
22        public static FacturesFormNEW getFacturesForm(MDIBazaReklam parent)
23        {
24            if (fakturesForm == null){
25                fakturesForm = new FacturesFormNEW(parent);
26            }
27            return fakturesForm;
28        }
29
30        private FacturesFormNEW(MDIBazaReklam parent)
31        {
32            InitializeComponent();
33
34            this.MdiParent = parent;
35
36            //podmiana connstringa
37            zestawienieFakturNEWTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
38            reklamaTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
39         
40            //obiekty wykorzytywane przy wyszukiwaniu
41            SqlConnection conn = new SqlConnection(ConnString.getConnString().Value);
42           
43            command = new SqlCommand();
44            command.CommandType = CommandType.Text;
45            command.Connection = conn;
46           
47            this.sqlDataAdapter = new SqlDataAdapter();
48
49            //generuje piersze wêz³y w drzewie
50            generateNodes();
51
52            //ustawia domyslny rok i miesi¹c w pasku wyszukiwania
53            rokToolStripTextBox.Text = DateTime.Today.Year.ToString();
54            miesiacToolStripTextBox.Text = DateTime.Today.Month.ToString();
55
56            wyszukajToolStrip.Items.Insert(10, new ToolStripLabel("nieuregulowane:"));
57            wyszukajToolStrip.Items.Insert(11, new ToolStripControlHost(new CheckBox(), "zalegleCheckBox"));
58            ((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).ThreeState = true;
59            ((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).CheckState = CheckState.Indeterminate;           
60        }
61
62        private void FacturesForm_Load(object sender, EventArgs e)
63        {
64            this.WindowState = FormWindowState.Maximized;
65
66            DBBindings.bindujAgencje(agencjaToolStripComboBox);
67         
68            command.CommandText = this.query;
69            sqlDataAdapter.SelectCommand = command;
70        }
71
72        private void generateNodes()
73        {
74            TreeNode node;
75
76            node = new TreeNode("Wp³aty - ksiêgowoœæ");
77            node.Name = "WplatyKsiegowosc";
78            treeView1.Nodes.Add(node);
79
80            node = new TreeNode("Ró¿nice wp³at");
81            node.Nodes.Add(new TreeNode());
82            node.Name = "BrakWKsiegowosci";
83
84            treeView1.Nodes["WplatyKsiegowosc"].Nodes.Add(node);
85
86            node = new TreeNode("Brak w reklamie");
87            node.Nodes.Add(new TreeNode());
88            node.Name = "BrakWReklamie";
89
90            treeView1.Nodes["WplatyKsiegowosc"].Nodes.Add(node);
91                       
92            command.Connection.Close();                         
93        }
94
95        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
96        {
97            if (e.Node != null)
98            {
99                command.CommandText = query;
100                command.Parameters.Clear();
101
102                switch (e.Node.Level)
103                {
104                    case 0:
105                        break;
106                    case 1:
107                        switch (e.Node.Parent.Name)
108                        {
109                            case "WplatyKsiegowosc":
110                                break;
111                            default:
112                                break;
113                        }
114                        break;
115                    case 2:
116                        switch (e.Node.Parent.Parent.Name)
117                        {
118                            case "WplatyKsiegowosc":
119                                switch (e.Node.Parent.Name)
120                                {
121                                    case "BrakWKsiegowosci":
122                                        this.Cursor = Cursors.WaitCursor;
123
124                                        rEKLAMADataSet.ZestawienieFakturNEW.Clear();
125
126                                        command.CommandText += " WHERE YEAR(dataWplaty) = @rok AND (suma_zaplat is null OR (CONVERT(int, suma_zaplat * 100) <> CONVERT(int, BRUTTO * 100))) order by dataWplaty";
127
128                                        command.Parameters.AddWithValue("@rok", e.Node.Name);
129                                        sqlDataAdapter.Fill(this.rEKLAMADataSet.ZestawienieFakturNEW);
130                                        commandExecuted = true;
131                                        fakturyDataGridView.Refresh();
132
133                                        this.Cursor = Cursors.Default;
134
135                                        break;
136
137                                    case "BrakWReklamie":
138                                        this.Cursor = Cursors.WaitCursor;
139
140                                        rEKLAMADataSet.ZestawienieFakturNEW.Clear();
141                                        command.CommandText += " WHERE YEAR(DATA_SPRZEDAZY) = @rok AND (suma_zaplat is not null AND suma_zaplat<>0) AND (dataWplaty is null) order by DATA_SPRZEDAZY";
142                                        command.Parameters.AddWithValue("@rok", e.Node.Name);
143                                        sqlDataAdapter.Fill(this.rEKLAMADataSet.ZestawienieFakturNEW);
144                                        commandExecuted = true;
145                                        fakturyDataGridView.Refresh();
146
147                                        this.Cursor = Cursors.Default;
148
149                                        break;
150                                    default:
151                                        break;
152                                }
153                                break;
154                            default:
155                                break;
156                        }
157                        break;
158                    case 3:
159                        switch (e.Node.Parent.Parent.Parent.Name)
160                        {
161                            case "WplatyKsiegowosc":
162                                switch (e.Node.Parent.Parent.Name)
163                                {
164                                    case "BrakWKsiegowosci":
165                                        this.Cursor = Cursors.WaitCursor;
166
167                                        rEKLAMADataSet.ZestawienieFakturNEW.Clear();
168                                        command.CommandText += " WHERE YEAR([dataWplaty]) = @rok AND MONTH(dataWplaty) = @miesiac AND (suma_zaplat is null OR (CONVERT(int, suma_zaplat * 100) <> CONVERT(int, BRUTTO * 100))) order by dataWplaty";
169                                        command.Parameters.AddWithValue("@rok", e.Node.Parent.Name);
170                                        command.Parameters.AddWithValue("@miesiac", e.Node.Name);
171                                        sqlDataAdapter.Fill(this.rEKLAMADataSet.ZestawienieFakturNEW);
172                                        commandExecuted = true;
173                                        fakturyDataGridView.Refresh();
174
175                                        this.Cursor = Cursors.Default;
176                                        break;
177
178                                    case "BrakWReklamie":
179                                        this.Cursor = Cursors.WaitCursor;
180
181                                        rEKLAMADataSet.ZestawienieFakturNEW.Clear();
182                                        command.CommandText += " WHERE YEAR(DATA_SPRZEDAZY) = @rok AND MONTH(DATA_SPRZEDAZY) = @miesiac AND (suma_zaplat is not null AND suma_zaplat<>0) AND (dataWplaty is null) order by DATA_SPRZEDAZY";
183                                        command.Parameters.AddWithValue("@rok", e.Node.Parent.Name);
184                                        command.Parameters.AddWithValue("@miesiac", e.Node.Name);
185                                        sqlDataAdapter.Fill(this.rEKLAMADataSet.ZestawienieFakturNEW);
186                                        commandExecuted = true;
187                                        fakturyDataGridView.Refresh();
188
189                                        this.Cursor = Cursors.Default;
190                                        break;
191                                }
192                                break;
193                            default:
194                                break;
195                        }
196                        break;
197                    default:
198                        break;
199                }
200
201            }
202        }
203
204        private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
205        {
206            TreeNode node;
207            SqlDataReader reader;
208
209            if (e.Node != null)
210            {
211               switch (e.Node.Level)
212                {
213                    case 0:                       
214                        break;
215                    case 1:
216                        switch (e.Node.Parent.Name)
217                        {
218                            case "WplatyKsiegowosc":
219                                switch (e.Node.Name)
220                                {
221                                    case "BrakWKsiegowosci":
222                                        e.Node.Nodes.Clear();
223
224                                        command.CommandText = "select distinct datepart(year,DATA_W) as rok from dbo.NR where datepart(year,DATA_W) is not null order by rok desc";
225                                        command.Connection.Open();
226                                        reader = command.ExecuteReader();
227
228                                        while (reader.Read())
229                                        {
230                                            node = new TreeNode(reader.GetValue(0).ToString());
231                                            node.Name = reader.GetValue(0).ToString();
232
233                                            for (int i = 12; i >= 1; i--)
234                                            {
235                                                TreeNode node2 = new TreeNode(i.ToString());
236                                                node2.Name = i.ToString();
237                                                //node2.Nodes.Add(new TreeNode());
238                                                node.Nodes.Add(node2);
239                                            }
240                                            e.Node.Nodes.Add(node);
241                                        }
242
243                                        command.Connection.Close();
244
245                                        break;
246                                    case "BrakWReklamie":
247                                        e.Node.Nodes.Clear();
248
249                                        command.CommandText = "select distinct datepart(year,DATA_W) as rok from dbo.NR where datepart(year,DATA_W) is not null order by rok desc";
250                                        command.Connection.Open();
251                                        reader = command.ExecuteReader();
252
253                                        while (reader.Read())
254                                        {
255                                            node = new TreeNode(reader.GetValue(0).ToString());
256                                            node.Name = reader.GetValue(0).ToString();
257
258                                            for (int i = 12; i >= 1; i--)
259                                            {
260                                                TreeNode node2 = new TreeNode(i.ToString());
261                                                node2.Name = i.ToString();
262                                                //node2.Nodes.Add(new TreeNode());
263                                                node.Nodes.Add(node2);
264                                            }
265                                            e.Node.Nodes.Add(node);
266                                        }
267
268                                        command.Connection.Close();
269
270                                        break;
271                                }
272                                break;
273                            default:
274                                e.Node.Nodes.Clear();
275
276                                node = new TreeNode("Biura");
277                                node.Name = "Biura";
278                                node.Nodes.Add(new TreeNode());
279                                e.Node.Nodes.Add(node);
280                                break;                     
281                        }
282                        break;
283                    case 2:
284               
285                        switch (e.Node.Name) {
286                            case "Biura":
287                                DBBindings.dodajAgencjeDoWezla(e.Node);
288                                break;
289                            default:
290                                break;
291                        }
292
293                        break;
294                    case 3:
295                        switch (e.Node.Parent.Name)
296                        {
297                            case "Biura":
298                                DBBindings.dodajAgentowDoWezla(e.Node, e.Node.Name);
299                                break;
300                            default:
301                                break;
302                        }
303                        break;
304                   case 4:
305                       break;                           
306                    default:
307                        break;
308                }
309            }
310        }
311
312        private void fakturyDataGridView_CellLeave(object sender, DataGridViewCellEventArgs e)
313        {
314            zestawienieFakturNEWBindingSource.CancelEdit();
315        }
316       
317        private void zamToolStripButton_Click(object sender, EventArgs e)
318        {
319            if (zestawienieFakturNEWBindingSource.Current != null)
320            {
321                DataRowView row = (DataRowView)zestawienieFakturNEWBindingSource.Current;
322
323                if (row["reklamaId"] != DBNull.Value)
324                {
325                    int idRek = Convert.ToInt32(row["reklamaId"]);
326                   
327                    OrderDetails.getOrderDetails().pokazSzczegolyZamowienia(idRek);
328                    OrderDetails.getOrderDetails().ShowDialog();
329
330                    /*
331                    OrderDetails od = new OrderDetails();
332                    od.pokazSzczegolyZamowienia(idRek);
333                    DialogResult result = od.ShowDialog();*/
334                }
335            }
336        }
337
338        private void faktToolStripButton_Click(object sender, EventArgs e)
339        {
340            if (zestawienieFakturNEWBindingSource.Current != null)
341            {
342                DataRowView row = (DataRowView)zestawienieFakturNEWBindingSource.Current;
343
344                if (row["reklamaId"] != DBNull.Value)
345                {
346                    int idRek = Convert.ToInt32(row["reklamaId"]);
347                    Facturer f = new Facturer(idRek);
348                    DialogResult result = f.ShowDialog();
349                }
350            }
351        }
352
353        private void odswiezToolStripButton_Click(object sender, EventArgs e)
354        {
355            if (commandExecuted)
356            {
357                this.Cursor = Cursors.WaitCursor;
358
359                rEKLAMADataSet.ZestawienieFaktur.Clear();
360                sqlDataAdapter.Fill(this.rEKLAMADataSet.ZestawienieFaktur);
361                fakturyDataGridView.Refresh();
362
363                this.Cursor = Cursors.Default;
364            }
365        }
366
367        private void wyszukajToolStripButton_Click(object sender, EventArgs e)
368        {
369            wyszukajToolStrip.Visible = wyszukajToolStrip.Visible ? false : true;
370        }
371
372        private void szukajToolStripButton_Click(object sender, EventArgs e)
373        {
374            command.CommandText = query;
375
376            this.rEKLAMADataSet.ZestawienieFakturNEW.Clear();
377
378            command.CommandText += " where 1=1 ";
379
380            command.Parameters.Clear();
381
382            if (nrFakturyToolStripTextBox.Text.Trim() != "")
383            {
384                int i;
385                if (!Int32.TryParse(nrFakturyToolStripTextBox.Text, out i))
386                {
387                    MessageBox.Show("Podaj prawid³owy numer faktury.");
388                    return;
389                }
390
391                command.CommandText += " AND NUMER=@nr";
392                command.Parameters.AddWithValue("@nr", nrFakturyToolStripTextBox.Text.Trim());
393            }
394
395            if (kodRozliczeniowyToolStripTextBox.Text.Trim() != "")
396            {
397                command.CommandText += " AND NR_FK like '%' + @kod + '%'";
398                command.Parameters.AddWithValue("@kod", kodRozliczeniowyToolStripTextBox.Text.Trim());
399            }
400
401            if (rokToolStripTextBox.Text.Trim() != "")
402            {
403                int i;
404                if (!Int32.TryParse(rokToolStripTextBox.Text.Trim(), out i))
405                {
406                    MessageBox.Show("Podaj prawid³owy rok.");
407                    return;
408                }
409
410                command.CommandText += " AND YEAR(DATA_SPRZEDAZY)=@rok";
411                command.Parameters.AddWithValue("@rok", rokToolStripTextBox.Text.Trim());
412            }
413
414            if (miesiacToolStripTextBox.Text.Trim() != "")
415            {
416                int i;
417                if (!Int32.TryParse(miesiacToolStripTextBox.Text.Trim(), out i))
418                {
419                    MessageBox.Show("Podaj prawid³owy miesi¹c.");
420                    return;
421                }
422
423                command.CommandText += " AND MONTH(DATA_SPRZEDAZY)=@miesiac";
424                command.Parameters.AddWithValue("@miesiac", miesiacToolStripTextBox.Text.Trim());
425            }
426
427            if (agencjaToolStripComboBox.Text.Trim() != "")
428            {
429                command.CommandText += " AND Agencja=@agencja";
430                command.Parameters.AddWithValue("@agencja", agencjaToolStripComboBox.Text.Trim());
431            }
432           
433            if (((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).CheckState == CheckState.Checked)
434            {
435                command.CommandText += " AND (BRUTTO - suma_zaplat) > 0";
436            }
437            else if (((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).CheckState == CheckState.Unchecked)
438            {
439                command.CommandText += " AND (BRUTTO - suma_zaplat) <= 0 ";
440            }
441         
442            //MessageBox.Show(command.CommandText + nrFakturyToolStripTextBox.Text);
443            sqlDataAdapter.SelectCommand = command;
444
445            this.Cursor = Cursors.WaitCursor;
446
447            try
448            {
449                int t = sqlDataAdapter.Fill(this.rEKLAMADataSet.ZestawienieFakturNEW);
450                commandExecuted = true;
451            }
452            catch (Exception e1)
453            {
454                MessageBox.Show(e1.Message);
455            }
456
457            treeView1.CollapseAll();
458            treeView1.SelectedNode = null;
459
460            this.Cursor = Cursors.Default;
461        }
462
463        private void fakturyDataGridView_Leave(object sender, EventArgs e)
464        {
465            fakturyDataGridView.EndEdit();
466        }
467
468        private void kryteriumWyszukiwania_KeyPress(object sender, KeyPressEventArgs e)
469        {
470            if (e.KeyChar == 13)
471            {
472                wyszukajToolStripButton.PerformClick();
473            }
474        }
475
476        /// <summary>
477        /// Podsumowuje brutto i zaplate z wyswietlonych faktur
478        /// </summary>
479        private void podsumuj() {
480
481            if (zestawienieFakturNEWBindingSource.List.Count != 0)
482            {
483            decimal brutto = Convert.ToDecimal(rEKLAMADataSet.ZestawienieFaktur.Compute("Sum(BRUTTO)",""));
484            decimal netto = Convert.ToDecimal(rEKLAMADataSet.ZestawienieFaktur.Compute("Sum(netto)", ""));
485
486            bruttoTextBox.Text = String.Format("{0:C}", brutto);
487            zaplataTextBox.Text = String.Format("{0:C}", netto);
488            }
489            else
490            {
491            bruttoTextBox.Clear();
492            zaplataTextBox.Clear();           
493            }
494        }
495
496        private void zestawienieFakturBindingSource_ListChanged(object sender, ListChangedEventArgs e)
497        {         
498           podsumuj();
499        }
500
501        private void toolStripButton1_Click(object sender, EventArgs e)
502        {
503            PrintDGV.Print_DataGridView(fakturyDataGridView,50);
504        }
505
506        private void wyczyscPolaToolStripButton_Click(object sender, EventArgs e)
507        {
508            rEKLAMADataSet.ZestawienieFaktur.Clear();
509
510            nrFakturyToolStripTextBox.Clear();
511            kodRozliczeniowyToolStripTextBox.Clear();
512            rokToolStripTextBox.Clear();
513            miesiacToolStripTextBox.Clear();
514            agencjaToolStripComboBox.SelectedIndex = -1;
515            agencjaToolStripComboBox.Text = "";
516            ((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).CheckState = CheckState.Indeterminate;
517        }
518
519        private void wplataToolStripButton_Click(object sender, EventArgs e)
520        {
521            if (zestawienieFakturNEWBindingSource.Current != null)
522            {
523                DataRowView row = (DataRowView)zestawienieFakturNEWBindingSource.Current;
524
525                if (row["reklamaId"] != DBNull.Value)
526                {
527                    int idRek = Convert.ToInt32(row["reklamaId"]);
528                    PaymentForm p = new PaymentForm(idRek);
529                    p.ShowDialog();
530                   
531                    /*
532                    if (p.ShowDialog() == DialogResult.OK)
533                    {
534                        this.rEKLAMADataSet.ReklamyZestawienie.Clear();
535                        sqlDataAdapter.Fill(this.rEKLAMADataSet.ReklamyZestawienie);
536                        fakturyDataGridView.Refresh();
537                    }*/
538                }
539           
540            }
541        }
542
543        private void podgladToolStripButton_Click(object sender, EventArgs e)
544        {
545            if (zestawienieFakturNEWBindingSource.Current != null)
546            {
547                DataRowView row = (DataRowView)zestawienieFakturNEWBindingSource.Current;
548
549                if (row["id_faktury"] != DBNull.Value)
550                {
551                    this.Cursor = Cursors.WaitCursor;
552
553                    int idFaktury = Convert.ToInt32(row["id_faktury"]);
554
555                    if (User.getUser().IdAgencji == 6)
556                    {
557                        FactureViewer fv = new FactureViewer(idFaktury);
558                        fv.ShowDialog();
559                    }
560                    else
561                    {
562                        FactureViewer fv = new FactureViewer(idFaktury, true);
563                        fv.ShowDialog();
564                    }
565                    this.Cursor = Cursors.Default;                   
566                }
567            }
568        }
569
570        /// <summary>
571        /// Przechodzi do okna KLIENCI i wyœwietla dane klienta zwi¹zanego z  faktur¹.
572        /// </summary>
573        private void klientToolStripButton_Click(object sender, EventArgs e)
574        {
575            if (zestawienieFakturNEWBindingSource.Current != null)
576            {
577                DataRowView row = (DataRowView)zestawienieFakturNEWBindingSource.Current;
578
579                int custID = Convert.ToInt32(row["ID_NABYWCY"]);
580
581                ClientsForm.getClientsForm((MDIBazaReklam)this.MdiParent).pokazKlienta(custID);
582
583                this.Hide();
584
585                ClientsForm.getClientsForm((MDIBazaReklam)this.MdiParent).Show();
586
587            }   
588        }
589
590        private void FacturesForm_Shown(object sender, EventArgs e)
591        {
592            if (User.getUser().St_kierownik)
593            {
594                agencjaToolStripComboBox.Text = User.getUser().SymbolAgencji;
595            }
596            else if (User.getUser().St_handlowiec | User.getUser().St_subhandlowiec)
597            {
598                kodRozliczeniowyToolStripTextBox.Text = User.getUser().Kod_agenta;
599            }
600
601         
602        }
603
604        private void excelToolStripButton_Click(object sender, EventArgs e)
605        {
606            this.Cursor = Cursors.WaitCursor;
607
608            ExcelHandler ex = new ExcelHandler();
609            ex.exportToExcel(fakturyDataGridView);
610
611            this.Cursor = Cursors.Default;
612        }
613
614        private void fakturyDataGridView_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
615        {
616            if (e.ListChangedType == ListChangedType.Reset)
617            {
618                foreach (DataGridViewRow r in fakturyDataGridView.Rows)
619                {
620                    if (r.Cells[8].Value != DBNull.Value && r.Cells[9].Value != DBNull.Value)
621                    {
622                        if (Convert.ToDecimal(r.Cells[8].Value) != Convert.ToDecimal(r.Cells[9].Value))
623                        {
624                            r.DefaultCellStyle.ForeColor = Color.Red;
625                        }
626                    }
627                }
628            }
629        }
630
631        private void wplata2toolStripButton_Click(object sender, EventArgs e)
632        {
633            if (zestawienieFakturNEWBindingSource.Current != null)
634            {
635                DataRowView row = (DataRowView)zestawienieFakturNEWBindingSource.Current;
636                REKLAMADataSet.ZestawienieFakturNEWRow f = (REKLAMADataSet.ZestawienieFakturNEWRow)row.Row;
637               
638                PaymentForm2 pf2;
639
640                if (f.IsidWplatyNull())
641                {
642                    pf2 = new PaymentForm2(0,f.ID_FAKTURY);
643                }
644                else
645                {
646                    pf2 = new PaymentForm2(f.idWplaty, f.ID_FAKTURY);
647                }
648
649                if (pf2.ShowDialog() == DialogResult.OK)
650                {
651                    f.idWplaty = pf2.IdWplaty;
652                    f.EndEdit();
653                    fakturyDataGridView.Refresh();
654                }
655            }
656   
657        }
658
659        private void zamowieniaToolStripButton_Click(object sender, EventArgs e)
660        {
661            if (zestawienieFakturNEWBindingSource.Current != null)
662            {
663                DataRowView row = (DataRowView)zestawienieFakturNEWBindingSource.Current;
664                REKLAMADataSet.ZestawienieFakturNEWRow f = (REKLAMADataSet.ZestawienieFakturNEWRow)row.Row;
665
666                ZamowieniaForm zf = new ZamowieniaForm(f.ID_NABYWCY,f.idZamowienia);
667                zf.ShowDialog();
668            }
669        }
670
671        private void toolStripButton2_Click(object sender, EventArgs e)
672        {
673            this.zestawienieFakturNEWTableAdapter.FillBy(this.rEKLAMADataSet.ZestawienieFakturNEW);
674        }
675
676    }
677}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.