root/Baza Reklam 2 - Faktury/ZamowieniaForm.cs @ 69

Wersja 69, 46.7 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 ZamowieniaForm : Form
13    {
14        private REKLAMADataSet.KLIENCIRow klient;
15
16        private int idZamowienia = 0;
17        private int idFaktury = 0;
18
19        private REKLAMADataSet.REKLAMADataTable reklamyBezZamowienia;
20
21        private REKLAMADataSetTableAdapters.KLIENCITableAdapter klienciTableAdapter =
22            new REKLAMADataSetTableAdapters.KLIENCITableAdapter();
23
24        private SLOWNIKDataSetTableAdapters.AGENCJETableAdapter agencjeTableAdapter =
25            new SLOWNIKDataSetTableAdapters.AGENCJETableAdapter();
26
27        private SLOWNIKDataSetTableAdapters.AGENCITableAdapter agenciTableAdapter =
28            new SLOWNIKDataSetTableAdapters.AGENCITableAdapter();
29
30        private REKLAMADataSetTableAdapters.UKAZE_SIE_W_NRTableAdapter emisjeTableAdapter =
31            new Baza_Reklam.REKLAMADataSetTableAdapters.UKAZE_SIE_W_NRTableAdapter();
32
33        private REKLAMADataSetTableAdapters.FAKTURA_DETAILSTableAdapter fakturyDetailsTableAdapter =
34            new Baza_Reklam.REKLAMADataSetTableAdapters.FAKTURA_DETAILSTableAdapter();
35
36        private REKLAMADataSetTableAdapters.DatyWydanTableAdapter datyWydanTableAdapter =
37            new Baza_Reklam.REKLAMADataSetTableAdapters.DatyWydanTableAdapter();
38
39        private SLOWNIKDataSetTableAdapters.Kursy_WalutTableAdapter kursyWalutTableAdapter =
40            new Baza_Reklam.SLOWNIKDataSetTableAdapters.Kursy_WalutTableAdapter();
41
42        #region properties
43
44        public REKLAMADataSet.REKLAMADataTable ReklamyBezZamowienia
45        {
46            get { return reklamyBezZamowienia; }
47            set { reklamyBezZamowienia = value; }
48        }
49
50        #endregion properties
51
52        public ZamowieniaForm(REKLAMADataSet.KLIENCIRow klient)
53        {
54            InitializeComponent();
55            InitTableAdatpers();
56
57            this.klient = klient;
58        }
59
60        public ZamowieniaForm(int idKlienta)
61        {
62            InitializeComponent();
63            InitTableAdatpers();
64
65            this.klient = klienciTableAdapter.GetDataByCustomerId(idKlienta)[0];
66        }
67
68        public ZamowieniaForm(int idKlienta, int idZamowienia)
69        {
70            InitializeComponent();
71            InitTableAdatpers();
72
73            this.klient = klienciTableAdapter.GetDataByCustomerId(idKlienta)[0];
74            this.idZamowienia = idZamowienia;
75        }
76
77        private void InitTableAdatpers()
78        {
79            this.rEKLAMABindingSource1.DataSource = ReklamyBezZamowienia;
80            this.zamowieniaTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
81            this.rEKLAMATableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
82            this.fAKTURYTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
83            this.fakturyDetailsTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
84            this.klienciTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
85            this.agencjeTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
86            this.agenciTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
87            this.emisjeTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
88            this.datyWydanTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
89            this.kursyWalutTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
90        }
91
92        private void ZamowieniaForm_Load(object sender, EventArgs e)
93        {
94            usunFaktureButton.Enabled = User.getUser().St_kierownik;
95
96            zamowieniaBindingSource.CurrentChanged += zamowieniaBindingSource_CurrentChanged;
97     
98            ReklamyBezZamowienia = rEKLAMATableAdapter.GetDataByCustomerIdandIdZamowienia(klient.CustomerID);
99            rEKLAMABindingSource1.DataSource = ReklamyBezZamowienia;
100            this.zamowieniaTableAdapter.FillByIdKlienta(this.rEKLAMADataSet.zamowienia, klient.CustomerID);
101               
102            if (idZamowienia != 0)
103            {
104                zamowieniaBindingSource.Position = zamowieniaBindingSource.Find("idZamowienia", idZamowienia);
105                rEKLAMATableAdapter.FillByIdZamowienia(this.rEKLAMADataSet.REKLAMA, idZamowienia);
106                fAKTURYTableAdapter.FillByIdZamowienia(this.rEKLAMADataSet.FAKTURY, idZamowienia);
107            }
108            else
109            {
110                zamowieniaBindingSource.Position = 0;
111            }
112        }
113
114        private void dodajButton_Click(object sender, EventArgs e)
115        {
116            if (klient.IskodKlientaNull() || klient.kodKlienta.Trim() == string.Empty)
117            {
118                MessageBox.Show("Uzupe³nij kod klienta");
119                return;
120            }
121
122            AddZamowienieForm azf = new AddZamowienieForm(0, klient.CustomerID);
123            if (azf.ShowDialog() == DialogResult.OK)
124            {
125                //rEKLAMADataSet.zamowienia.Clear();
126                //this.zamowieniaTableAdapter.FillByIdKlienta(this.rEKLAMADataSet.zamowienia, klient.CustomerID);
127                rEKLAMADataSet.zamowienia.ImportRow(azf.Zamowienia[0]);
128                int idZam = azf.Zamowienia[0].idZamowienia;
129                zamowieniaBindingSource.Position = zamowieniaBindingSource.Find("idZamowienia", idZam);
130                rEKLAMATableAdapter.FillByIdZamowienia(this.rEKLAMADataSet.REKLAMA, idZam);
131                fAKTURYTableAdapter.FillByIdZamowienia(this.rEKLAMADataSet.FAKTURY, idZam);
132            }
133        }
134
135        private void edytujButton_Click(object sender, EventArgs e)
136        {
137            if (zamowieniaBindingSource.Current != null)
138            {
139                DataRowView z = (DataRowView)zamowieniaBindingSource.Current;
140                REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow)z.Row;
141
142                int idZam = zamowienie.idZamowienia;
143           
144                AddZamowienieForm azf = new AddZamowienieForm(idZam, klient.CustomerID);
145                if (azf.ShowDialog() == DialogResult.OK)
146                {
147                    rEKLAMADataSet.zamowienia.Clear();
148                    this.zamowieniaTableAdapter.FillByIdKlienta(this.rEKLAMADataSet.zamowienia, klient.CustomerID);
149                    zamowieniaBindingSource.Position = zamowieniaBindingSource.Find("idZamowienia", idZam);
150                }
151            }
152        }
153
154        private void dodajDoZamButton_Click(object sender, EventArgs e)
155        {
156            if (zamowieniaBindingSource.Current != null)
157            {           
158                if (rEKLAMADataGridView1.SelectedRows.Count > 0)
159                {
160                    DataRowView z = (DataRowView)zamowieniaBindingSource.Current;
161                    REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow)z.Row;
162
163                    REKLAMADataSet.REKLAMARow row = (REKLAMADataSet.REKLAMARow)((DataRowView)rEKLAMADataGridView1.SelectedRows[0].DataBoundItem).Row;
164                   
165                    //sprawdzenie waluty i VAT
166                    if (this.rEKLAMADataSet.REKLAMA.Count > 0)
167                    {
168                        REKLAMADataSet.REKLAMARow rek = this.rEKLAMADataSet.REKLAMA[0];
169
170                        string s = string.Empty;
171
172                        if (!(rek.IsBrutto_Euro_MianoNull() ^ row.IsBrutto_Euro_MianoNull())){
173
174                            if (!rek.IsBrutto_Euro_MianoNull() && (rek.Brutto_Euro_Miano != row.Brutto_Euro_Miano))
175                            {
176                                s += "Reklamy s¹ w ró¿nych walutach. \n";
177                            }
178                        }
179
180                        REKLAMADataSet.DatyWydanDataTable t = datyWydanTableAdapter.GetDataByPierwszaEmisjaWZamowieniu(zamowienie.idZamowienia);
181
182                        if (t.Rows.Count == 0)
183                        {
184                            s += "Reklama nie ma wybranych emisji. \n";
185                        }
186                        else
187                        {
188                            if (!zamowienie.IsdataOstatniejZafakturowanejEmisjiNull())
189                            {
190                                if (t[0].DATA_W < zamowienie.dataOstatniejZafakturowanejEmisji)
191                                {
192                                    s += "Reklama zawiera emisjê na okres, który ju¿ zosta³ zafakturowany";
193                                }
194                            }
195                        }
196
197                        if (rek.VAT != row.VAT)
198                        {
199                            s += "Reklamy maj¹ ró¿ne stawki VAT. \n";   
200                        }
201
202                        if (s != string.Empty)
203                        {
204                            s+= "\n Reklamy nie mog¹ byæ w obrêbie jednego zamówienia";
205                            MessageBox.Show(s,"",MessageBoxButtons.OK,MessageBoxIcon.Error);
206                            return;
207                        }
208                    }
209                   
210                    row.idZamowienia = zamowienie.idZamowienia;
211
212                    if (zamowienie.IsidKontaNull() && !row.IsBrutto_Euro_MianoNull())
213                    {
214                        // zmiana domyœlnego konta do faktury dla EUR
215                        if (User.getUser().IdAgencji != 4 & (row.Brutto_Euro_Miano == "EUR"))
216                        {
217                            if (User.getUser().IdAgencji == 1223940396 | User.getUser().IdAgencji == 1223940398)
218                            {
219                                zamowienie.idKonta = 3;
220                            }
221                            else
222                            {
223                                zamowienie.idKonta = 5;
224                            }
225                        }
226                    }
227                   
228                    this.rEKLAMADataSet.REKLAMA.ImportRow(row);
229                    ReklamyBezZamowienia.Rows.Remove(row);
230                    rEKLAMATableAdapter.Update(this.rEKLAMADataSet.REKLAMA);
231                    zamowieniaTableAdapter.Update(this.rEKLAMADataSet.zamowienia);
232                }
233            }
234        }
235
236        private void usunZZamButton_Click(object sender, EventArgs e)
237        {
238            if (zamowieniaBindingSource.Current != null && rEKLAMADataGridView.SelectedRows.Count != 0)
239            {               
240                DataRowView z = (DataRowView)zamowieniaBindingSource.Current;
241                REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow)z.Row;
242             
243                DataRowView row = (DataRowView)rEKLAMADataGridView.SelectedRows[0].DataBoundItem;
244
245                if (Convert.ToBoolean(row["FAKTURA WYSTAWIONO"]) == true)
246                {
247                    MessageBox.Show("Reklama ma zafakturowane emisje. Nie mo¿na usun¹æ reklamy.");
248                    return;
249                }
250
251                row["idZamowienia"] = DBNull.Value;
252                row.EndEdit();
253
254                ReklamyBezZamowienia.ImportRow(row.Row);
255                this.rEKLAMADataSet.REKLAMA.Rows.Remove(row.Row);
256           
257                rEKLAMATableAdapter.Update(ReklamyBezZamowienia);
258                zamowieniaTableAdapter.Update(this.rEKLAMADataSet.zamowienia);
259            }
260        }
261
262        private void button1_Click(object sender, EventArgs e)
263        {   
264            if (zamowieniaBindingSource.Current != null)
265            {
266                this.Cursor = Cursors.WaitCursor;
267
268                DataRowView z = (DataRowView)zamowieniaBindingSource.Current;
269                REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow)z.Row;
270
271                REKLAMADataSet.KLIENCIRow klient = (REKLAMADataSet.KLIENCIRow)this.klienciTableAdapter.GetDataByCustomerId(zamowienie.idKlienta).Rows[0];
272                string errorMessage = czyMoznaZafakturowac(zamowienie,klient);
273
274                if (errorMessage != string.Empty)
275                {
276                    MessageBox.Show(errorMessage);
277                    this.Cursor = Cursors.Default;
278                    return;
279                }
280
281                try
282                {
283                    REKLAMADataSet.FAKTURYRow naglowekFaktury = utworzNaglowekFaktury(zamowienie, klient);
284                    this.rEKLAMADataSet.FAKTURY.AddFAKTURYRow(naglowekFaktury);
285                    pobierzOznaczEmisje(zamowienie, naglowekFaktury);
286                    utworzPozycjeFaktury(naglowekFaktury);
287
288                    SqlConnection conn = new SqlConnection(ConnString.getConnString().Value);
289                   
290                    fAKTURYTableAdapter.Connection = conn;
291                    emisjeTableAdapter.Connection = conn;
292                    zamowieniaTableAdapter.Connection = conn;
293                    fakturyDetailsTableAdapter.Connection = conn;
294                    rEKLAMATableAdapter.Connection = conn;
295
296                    conn.Open();
297                   
298                    SqlTransaction transaction = conn.BeginTransaction();
299                    fAKTURYTableAdapter.AttachTransaction(transaction);
300                    emisjeTableAdapter.AttachTransaction(transaction);
301                    zamowieniaTableAdapter.AttachTransaction(transaction);
302                    fakturyDetailsTableAdapter.AttachTransaction(transaction);
303                    rEKLAMATableAdapter.AttachTransaction(transaction);
304
305                    try
306                    {
307                        fAKTURYTableAdapter.Update(this.rEKLAMADataSet.FAKTURY);
308                        emisjeTableAdapter.Update(this.rEKLAMADataSet.UKAZE_SIE_W_NR);
309                        fakturyDetailsTableAdapter.Update(this.rEKLAMADataSet.FAKTURA_DETAILS);
310                        zamowieniaTableAdapter.Update(this.rEKLAMADataSet.zamowienia);
311                        rEKLAMATableAdapter.Update(this.rEKLAMADataSet.REKLAMA);
312
313                        transaction.Commit();
314                    }
315                    catch (Exception e1)
316                    {
317                        transaction.Rollback();
318                        conn.Close();
319                        this.rEKLAMADataSet.FAKTURY.RemoveFAKTURYRow(naglowekFaktury);
320                        this.fAKTURYBindingSource.ResetBindings(false);
321                        this.fAKTURYDataGridView.Refresh();
322                        throw e1;
323                    }
324                }
325                catch (Exception e2)
326                {
327                    MessageBox.Show("Wyst¹pi³ b³¹d: \n" + e2.ToString());
328                }
329                finally
330                {
331                    this.rEKLAMADataSet.UKAZE_SIE_W_NR.Clear();
332                    this.rEKLAMADataSet.DatyWydan.Clear();
333                    this.rEKLAMADataSet.FAKTURA_DETAILS.Clear();
334                    this.fAKTURYBindingSource.ResetBindings(false);
335                    this.fAKTURYDataGridView.Refresh();
336                }
337
338                this.Cursor = Cursors.Default;
339            }
340        }
341
342        private void utworzPozycjeFaktury(REKLAMADataSet.FAKTURYRow naglowekFaktury)
343        {
344            decimal brutto_waluta = 0;
345
346            foreach (REKLAMADataSet.UKAZE_SIE_W_NRRow em in this.rEKLAMADataSet.UKAZE_SIE_W_NR)
347            {
348                REKLAMADataSet.FAKTURA_DETAILSRow fakturaDetailsRow = this.rEKLAMADataSet.FAKTURA_DETAILS.NewFAKTURA_DETAILSRow();
349               
350                REKLAMADataSet.DatyWydanRow[] dataWydanTable =
351                    (REKLAMADataSet.DatyWydanRow[])em.GetChildRows("UKAZE_SIE_W_NR_DatyWydan");
352                REKLAMADataSet.DatyWydanRow dataWydania = dataWydanTable[0];
353
354                REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)em.GetParentRow("REKLAMA_UKAZE_SIE_W_NR");
355               
356                fakturaDetailsRow.ROK = Convert.ToInt16(dataWydania.rok);
357                fakturaDetailsRow.MIESIAC = Convert.ToInt16(dataWydania.ms);
358                fakturaDetailsRow.TYTUL = Convert.ToInt16(dataWydania.idTytulu);
359                fakturaDetailsRow.NAZWA_USLUGI = reklama.ID_REKLAMY + " | " + em.Nr_Wydania;
360                fakturaDetailsRow.NR_WYDANIA = em.Nr_Wydania;
361
362                fakturaDetailsRow.CENA_JEDN = Convert.ToDecimal(reklama.CENA_JEDN);
363                fakturaDetailsRow.ILOSC = 1;
364                fakturaDetailsRow.JM = "szt.";
365
366                if (naglowekFaktury.Iswaluta_mianoNull())
367                {
368                    fakturaDetailsRow.UPUST_NETTO = Convert.ToDecimal(reklama.RABAT) * fakturaDetailsRow.CENA_JEDN;
369                    fakturaDetailsRow.UPUST_PR = reklama.RABAT;
370                    decimal netto = (1 - Convert.ToDecimal(reklama.RABAT)) * fakturaDetailsRow.CENA_JEDN;
371                    fakturaDetailsRow.NETTO = netto;
372                    fakturaDetailsRow.S_VAT = reklama.VAT;
373                    decimal VAT = Convert.ToDecimal(reklama.VAT);
374                    fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * netto, 2));
375                    fakturaDetailsRow.BRUTTO = Convert.ToDecimal(Math.Round((1 + VAT) * netto, 2));
376                }
377                else
378                {
379                    fakturaDetailsRow.BRUTTO = Convert.ToDecimal((reklama.Brutto_Euro/reklama.KROTNOŒÆ) * naglowekFaktury.waluta_kurs);
380                    brutto_waluta += Convert.ToDecimal(reklama.Brutto_Euro / reklama.KROTNOŒÆ);
381                    fakturaDetailsRow.S_VAT = reklama.VAT;
382                    decimal VAT = Convert.ToDecimal(reklama.VAT);
383                    decimal brutto = fakturaDetailsRow.BRUTTO;
384                    fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * brutto /(1 + VAT) , 2));
385                    decimal netto = brutto - fakturaDetailsRow.VAT;
386                    fakturaDetailsRow.NETTO = netto;
387                    fakturaDetailsRow.UPUST_PR = reklama.RABAT;
388                    if (fakturaDetailsRow.UPUST_PR != 0)
389                    {
390                        fakturaDetailsRow.UPUST_NETTO = netto / Convert.ToDecimal(reklama.RABAT) - netto;
391                    }
392                    else
393                    {
394                        fakturaDetailsRow.UPUST_NETTO = 0;
395                    }
396                   
397                    fakturaDetailsRow.CENA_JEDN = Convert.ToDecimal(netto + fakturaDetailsRow.UPUST_NETTO);
398                }
399
400                fakturaDetailsRow.TYP = 2;
401                fakturaDetailsRow.PODTYP = 1;
402                fakturaDetailsRow.ID_FAKTURY = naglowekFaktury.ID_FAKTURY;
403
404                if (reklama.wyroznienie)
405                {
406                    fakturaDetailsRow.wyroznienie = true;
407                }
408
409                this.rEKLAMADataSet.FAKTURA_DETAILS.AddFAKTURA_DETAILSRow(fakturaDetailsRow);
410            }
411           
412            if (brutto_waluta != 0)
413            {
414                naglowekFaktury.waluta_brutto = Convert.ToDouble(brutto_waluta);
415            }
416        }
417         
418        private void pobierzOznaczEmisje(REKLAMADataSet.zamowieniaRow zamowienie, REKLAMADataSet.FAKTURYRow naglowekFaktury)
419        {
420            this.emisjeTableAdapter.ClearBeforeFill = false;
421            this.datyWydanTableAdapter.ClearBeforeFill = false;
422
423           REKLAMADataSet.DatyWydanDataTable t = datyWydanTableAdapter.GetDataByPierwszaEmisjaWZamowieniu(zamowienie.idZamowienia);
424
425            if (t.Rows.Count == 0) {
426                throw new Exception("Nie ma co fakturowaæ!");
427            }
428
429            DateTime d = t[0].DATA_W;
430            d = zamowienie.IsdataOstatniejZafakturowanejEmisjiNull() ? d : zamowienie.dataOstatniejZafakturowanejEmisji.AddMonths(1);
431
432            foreach (DataRow r in this.rEKLAMADataSet.REKLAMA.Rows)
433            {
434                REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)r;
435
436                switch (zamowienie.rodzajFakturowania)
437                {
438                    //3m
439                    case 1:
440                        this.emisjeTableAdapter.FillByNiezafakturowane3MSRekID(
441                            this.rEKLAMADataSet.UKAZE_SIE_W_NR,
442                            reklama.ReklamaID,
443                            d);
444                        this.datyWydanTableAdapter.FillByReklamaId(this.rEKLAMADataSet.DatyWydan, reklama.ReklamaID);
445                        break;
446                    //calosc
447                    case 2:
448                        this.emisjeTableAdapter.FillByNiezafakturowane(this.rEKLAMADataSet.UKAZE_SIE_W_NR,reklama.ReklamaID);
449                        this.datyWydanTableAdapter.FillByReklamaId(this.rEKLAMADataSet.DatyWydan, reklama.ReklamaID);
450                        break;
451                    //1ms
452                    default:
453                        this.emisjeTableAdapter.FillByNiezafakturowane1MSrekId(
454                            this.rEKLAMADataSet.UKAZE_SIE_W_NR,                           
455                            reklama.ReklamaID,
456                            d);
457                        this.datyWydanTableAdapter.FillByReklamaId(this.rEKLAMADataSet.DatyWydan, reklama.ReklamaID);
458                        break;
459                }
460
461                // ustawiane by pozniej blokowac mozliwosc zmiany rabatu itp.
462                reklama.FAKTURA_WYSTAWIONO = true;
463                reklama.EndEdit();
464            }
465
466            if (zamowienie.IsdataOstatniejZafakturowanejEmisjiNull())
467            {
468                zamowienie.dataOstatniejZafakturowanejEmisji = DateTime.Today.AddMonths(-1);
469            }
470
471            foreach (DataRow r in this.rEKLAMADataSet.REKLAMA.Rows)
472            {
473                REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)r;
474
475
476                foreach (DataRow em in this.rEKLAMADataSet.UKAZE_SIE_W_NR)
477                {
478                    REKLAMADataSet.UKAZE_SIE_W_NRRow emisja = (REKLAMADataSet.UKAZE_SIE_W_NRRow)em;
479                    emisja.idFaktury = naglowekFaktury.ID_FAKTURY;
480                    emisja.zafakturowana = true;
481
482                    if (emisja.ReklamaId == reklama.ReklamaID)
483                    {
484                        reklama.FAKTURA_WYSTAWIONO = true;
485
486                        if (naglowekFaktury.Iswaluta_mianoNull())
487                        {
488                            emisja.netto = reklama.CENA_JEDN * (1 - reklama.RABAT);
489                        }
490                        else
491                        {
492                            emisja.netto = Math.Round(reklama.Brutto_Euro / reklama.KROTNOŒÆ, 2) * (1 - reklama.RABAT);
493                            emisja.netto = emisja.netto * naglowekFaktury.waluta_kurs;
494                        }
495                    }
496                   
497                    REKLAMADataSet.DatyWydanRow[] dataWydanTable =
498                                       (REKLAMADataSet.DatyWydanRow[])em.GetChildRows("UKAZE_SIE_W_NR_DatyWydan");
499                    REKLAMADataSet.DatyWydanRow dataWydania = dataWydanTable[0];
500
501                    if (dataWydania.DATA_W > zamowienie.dataOstatniejZafakturowanejEmisji)
502                    {
503                        zamowienie.dataOstatniejZafakturowanejEmisji = dataWydania.DATA_W;
504                    }
505                }
506            }
507
508            zamowienie.EndEdit();
509        }
510
511        private REKLAMADataSet.FAKTURYRow utworzNaglowekFaktury(REKLAMADataSet.zamowieniaRow zamowienie,REKLAMADataSet.KLIENCIRow klient)
512        {
513            REKLAMADataSet.FAKTURYRow naglowekFaktury = (REKLAMADataSet.FAKTURYRow)this.rEKLAMADataSet.FAKTURY.NewRow();
514
515            naglowekFaktury.idZamowienia = zamowienie.idZamowienia;
516
517            naglowekFaktury.NUMER_ROZ = zamowienie.kodAgenta;
518            naglowekFaktury.NUMER = Utils.numerNowejFaktury(naglowekFaktury.NUMER_ROZ, DateTime.Today.Year);
519            naglowekFaktury.NUMER_ROK = DateTime.Today.Year;
520            naglowekFaktury.DATA_WYSTAWIENIA = DateTime.Today;
521
522            SLOWNIKDataSet.AGENCJERow agencja = (SLOWNIKDataSet.AGENCJERow)this.agencjeTableAdapter.GetDataByKodAgenta(zamowienie.kodAgenta).Rows[0];
523            naglowekFaktury.ID_SPRZEDAWCY = agencja.Id_agencji;
524            naglowekFaktury.MIEJSCOWOSC_WYSTAWIENIA = agencja.miasto;
525            naglowekFaktury.SPRZEDAWCA_ADRES = agencja.Adres_Fk;
526            naglowekFaktury.SPRZEDAWCA_NIP = agencja.NIP;
527
528            SLOWNIKDataSet.AGENCIRow agent = (SLOWNIKDataSet.AGENCIRow)this.agenciTableAdapter.GetDataByKodAgenta(zamowienie.kodAgenta).Rows[0];
529            naglowekFaktury.PODPIS_WYSTAWIL = agent.Imiê + " " + agent.Nazwisko;
530            naglowekFaktury.DATA_SPRZEDAZY = DateTime.Today;
531
532            naglowekFaktury.ID_NABYWCY = zamowienie.idKlienta;
533            naglowekFaktury.NABYWCA_ADRES = klient.Adres_Fkatura;
534            naglowekFaktury.NABYWCA_NIP = klient.Nip;
535            naglowekFaktury.TERMIN_ZAPLATY = DateTime.Today.AddDays(Convert.ToDouble(zamowienie.czasPlatnosci));
536            naglowekFaktury.opis = "TU BÊDZIE JAKIŒ OPIS";
537
538            switch (zamowienie.sposobZaplaty)
539            {
540                case 0:
541                    naglowekFaktury.SPOSOB_ZAPLATY = "Karta kredytowa";
542                    break;
543                case 1:
544                    naglowekFaktury.SPOSOB_ZAPLATY = "Przelew";
545                    break;
546                case 2:
547                    naglowekFaktury.SPOSOB_ZAPLATY = "Gotówka";
548                    break;
549                case 3:
550                    naglowekFaktury.SPOSOB_ZAPLATY = "Barter";
551                    break;
552                default:
553                    break;
554            }
555
556            naglowekFaktury.TERMIN_ZAPLATY = naglowekFaktury.DATA_SPRZEDAZY.AddDays(zamowienie.czasPlatnosci);
557            naglowekFaktury.ZAPLACONO = false;
558
559            naglowekFaktury.FAKTURA_TYP = 2;
560            naglowekFaktury.FAKTURA_PODTYP = 1;
561
562            naglowekFaktury.ID_KONTA = Convert.ToInt16(zamowienie.idKonta);
563
564            //WALUTOWE
565            if (!this.rEKLAMADataSet.REKLAMA[0].IsBrutto_Euro_MianoNull() &&
566                this.rEKLAMADataSet.REKLAMA[0].Brutto_Euro_Miano != string.Empty)
567            {
568                naglowekFaktury.SPRZEDAWCA_NIP = agencja.vies;
569                naglowekFaktury.NABYWCA_NIP = klient.nipKraj + " " + klient.Nip;
570                naglowekFaktury.waluta_miano = this.rEKLAMADataSet.REKLAMA[0].Brutto_Euro_Miano;
571
572                DateTime dataPublikacji = DateTime.Today;
573
574                SLOWNIKDataSet.Kursy_WalutDataTable kurs = kursyWalutTableAdapter.GetDataByDataPublikacji(
575                     naglowekFaktury.waluta_miano,dataPublikacji);
576
577                if (kurs.Count == 0)
578                {
579                    throw new Exception("B³¹d przy pobieraniu kursu waluty.");
580                }
581
582                naglowekFaktury.waluta_kurs = User.getUser().IdAgencji == 6 ? kurs[0].Kurs_Sredni_Poznan : kurs[0].Kurs_Sredni;
583                naglowekFaktury.waluta_kurs_z_dnia = kurs[0].Data_Publikacji;
584                naglowekFaktury.waluta_przelicznik = kurs[0].przelicznik;
585                naglowekFaktury.waluta_tabela_nr = kurs[0].Numer_Tabeli;
586            }
587     
588            naglowekFaktury.EndEdit();
589            return naglowekFaktury;
590        }
591
592        private string czyMoznaZafakturowac(REKLAMADataSet.zamowieniaRow zamowienie, REKLAMADataSet.KLIENCIRow klient)
593        {
594            string errorMessage = string.Empty;
595
596            errorMessage += zamowienie.IsrodzajFakturowaniaNull() ? "Nie wybrano sposobu fakturowania. \n" : "";
597            errorMessage += zamowienie.IsidKontaNull() ? "Nie wybrano konta. \n" : "";
598            errorMessage += zamowienie.IssposobZaplatyNull() ? "Nie wybrano sposobu zap³aty. \n" : "";
599
600            errorMessage += klient.IsAdres_FkaturaNull() || klient.Adres_Fkatura == string.Empty ? "Brak adresu faktury klienta. \n" : "";
601            errorMessage += klient.IsNipNull() || klient.Nip == string.Empty ? "Brak nipu klienta. \n" : "";
602
603            if (klient.Country != "Polska")
604            {
605                errorMessage += klient.IsnipKrajNull() || klient.nipKraj == string.Empty ? "Brak symbolu kraju w nipie klienta. \n" : "";
606            }
607
608            if (rEKLAMADataSet.REKLAMA.Select("[ZATWIERDZONO DO DRUKU] = 0").Length > 0)
609            {
610                errorMessage += "W zamówieniu s¹ reklamy niezatwierdzone do druku \n";
611            }
612           
613            return errorMessage;
614        }
615
616
617        private void WydrukButton_Click(object sender, EventArgs e)
618        {
619            if (zamowieniaBindingSource.Current != null)
620            {
621                DataRowView z = (DataRowView)zamowieniaBindingSource.Current;
622                REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow)z.Row;
623
624                OrderViewer ov = new OrderViewer(zamowienie.idZamowienia, 9);
625                ov.ShowDialog();
626            }
627        }
628
629        private void button2_Click(object sender, EventArgs e)
630        {
631            if (fAKTURYBindingSource.Current != null)
632            {
633               REKLAMADataSet.FAKTURYRow row =
634                   (REKLAMADataSet.FAKTURYRow)
635                   ((DataRowView)fAKTURYBindingSource.Current).Row;
636
637               if (row.IsidFakturyKorektaNull())
638               {
639                   FactureViewer fv = new FactureViewer(row.ID_FAKTURY);
640                   fv.ShowDialog();
641               }
642               else
643               {
644                   FactureViewer fv = new FactureViewer(row.idFakturyKorekta, row.ID_FAKTURY);
645                   fv.ShowDialog();
646               }
647               
648            }
649        }
650
651        private void button3_Click(object sender, EventArgs e)
652        {
653            if (rEKLAMADataSet.REKLAMA.Rows.Count == 0 && rEKLAMADataSet.FAKTURY.Rows.Count == 0)
654            {
655                this.zamowieniaBindingSource.Remove(this.zamowieniaBindingSource.Current);
656                this.zamowieniaBindingSource.EndEdit();
657                this.zamowieniaTableAdapter.Update(this.rEKLAMADataSet.zamowienia);
658            }
659            else
660            {
661                MessageBox.Show("Nie mo¿na usun¹æ zamówienia.");
662            }
663        }
664
665        private void korektaButton_Click(object sender, EventArgs e)
666        {
667            if (fAKTURYBindingSource.Current != null)
668            {
669                this.Cursor = Cursors.WaitCursor;
670
671                DataRowView row = (DataRowView)fAKTURYBindingSource.Current;
672                REKLAMADataSet.FAKTURYRow faktura = (REKLAMADataSet.FAKTURYRow)row.Row;
673
674                if (faktura.KOREKTA == 1)
675                {
676                    MessageBox.Show("Nie mo¿na wystawiæ korekty do korekty");
677                    return;
678                }
679
680                //sprawdzenie czy korekta nie byla juz wystawiona
681               
682                if (!faktura.IsID_FK_KORNull())
683                {
684                    MessageBox.Show("Istnieje ju¿ faktura korekta");
685                    return;
686                }
687
688                /*
689                DataRowView z = (DataRowView)zamowieniaBindingSource.Current;
690                REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow)z.Row;
691
692                REKLAMADataSet.KLIENCIRow klient = (REKLAMADataSet.KLIENCIRow)this.klienciTableAdapter.GetDataByCustomerId(zamowienie.idKlienta).Rows[0];
693                  */
694         
695
696                REKLAMADataSet.FAKTURYRow naglowekKorekty = this.rEKLAMADataSet.FAKTURY.NewFAKTURYRow();
697                naglowekKorekty.KOREKTA = 1;
698              //  naglowekKorekty.EKSPORT = true;
699               
700                naglowekKorekty.idZamowienia = faktura.idZamowienia;
701                naglowekKorekty.idFakturyKorekta = faktura.ID_FAKTURY;
702
703                naglowekKorekty.NUMER_ROZ = faktura.NUMER_ROZ; ;
704                naglowekKorekty.NUMER = Utils.numerNowejFakturyKorekty(naglowekKorekty.NUMER_ROZ, DateTime.Today.Year);
705                naglowekKorekty.NUMER_ROK = DateTime.Today.Year;
706                naglowekKorekty.DATA_WYSTAWIENIA = DateTime.Today;
707
708                naglowekKorekty.ID_SPRZEDAWCY = faktura.ID_SPRZEDAWCY;
709                naglowekKorekty.MIEJSCOWOSC_WYSTAWIENIA = faktura.MIEJSCOWOSC_WYSTAWIENIA;
710                naglowekKorekty.SPRZEDAWCA_ADRES = faktura.SPRZEDAWCA_ADRES;
711                naglowekKorekty.SPRZEDAWCA_NIP = faktura.SPRZEDAWCA_NIP;
712
713                naglowekKorekty.PODPIS_WYSTAWIL = faktura.PODPIS_WYSTAWIL;
714                naglowekKorekty.DATA_SPRZEDAZY = DateTime.Today;
715
716                naglowekKorekty.ID_NABYWCY = faktura.ID_NABYWCY;
717                naglowekKorekty.NABYWCA_ADRES = faktura.NABYWCA_ADRES;
718                naglowekKorekty.NABYWCA_NIP = faktura.NABYWCA_NIP;
719                naglowekKorekty.TERMIN_ZAPLATY = DateTime.Today.AddDays(7);
720                naglowekKorekty.opis = "TU BÊDZIE JAKIŒ OPIS";
721
722                naglowekKorekty.SPOSOB_ZAPLATY = faktura.SPOSOB_ZAPLATY;
723
724                naglowekKorekty.TERMIN_ZAPLATY = faktura.TERMIN_ZAPLATY;
725                naglowekKorekty.ZAPLACONO = false;
726
727                naglowekKorekty.FAKTURA_TYP = 2;
728                naglowekKorekty.FAKTURA_PODTYP = 1;
729
730                naglowekKorekty.ID_KONTA = faktura.ID_KONTA;
731
732                /*
733                //WALUTOWE
734                if (!this.rEKLAMADataSet.REKLAMA[0].IsBrutto_Euro_MianoNull() &&
735                    this.rEKLAMADataSet.REKLAMA[0].Brutto_Euro_Miano != string.Empty)
736                {
737                    naglowekFaktury.SPRZEDAWCA_NIP = agencja.vies;
738                    naglowekFaktury.NABYWCA_NIP = klient.nipKraj + " " + klient.Nip;
739                    naglowekFaktury.waluta_miano = this.rEKLAMADataSet.REKLAMA[0].Brutto_Euro_Miano;
740
741                    DateTime dataPublikacji = DateTime.Today;
742
743                    SLOWNIKDataSet.Kursy_WalutDataTable kurs = kursyWalutTableAdapter.GetDataByDataPublikacji(
744                         naglowekFaktury.waluta_miano, dataPublikacji);
745
746                    if (kurs.Count == 0)
747                    {
748                        throw new Exception("B³¹d przy pobieraniu kursu waluty.");
749                    }
750
751                    naglowekFaktury.waluta_kurs = User.getUser().IdAgencji == 6 ? kurs[0].Kurs_Sredni_Poznan : kurs[0].Kurs_Sredni;
752                    naglowekFaktury.waluta_kurs_z_dnia = kurs[0].Data_Publikacji;
753                    naglowekFaktury.waluta_przelicznik = kurs[0].przelicznik;
754                    naglowekFaktury.waluta_tabela_nr = kurs[0].Numer_Tabeli;
755                }
756     
757                */
758
759                this.rEKLAMADataSet.FAKTURY.AddFAKTURYRow(naglowekKorekty);
760               
761                try
762                {
763                pobierzEmisjeDoKorekty(faktura);
764                utworzPozycjeFakturyKorekty(naglowekKorekty);
765
766                faktura.ID_FK_KOR = naglowekKorekty.ID_FAKTURY;
767                faktura.EndEdit();
768
769                SqlConnection conn = new SqlConnection(ConnString.getConnString().Value);
770                   
771                    fAKTURYTableAdapter.Connection = conn;
772                    emisjeTableAdapter.Connection = conn;
773                    zamowieniaTableAdapter.Connection = conn;
774                    fakturyDetailsTableAdapter.Connection = conn;
775                    rEKLAMATableAdapter.Connection = conn;
776
777                    conn.Open();
778                   
779                    SqlTransaction transaction = conn.BeginTransaction();
780                    fAKTURYTableAdapter.AttachTransaction(transaction);
781                    emisjeTableAdapter.AttachTransaction(transaction);
782                    zamowieniaTableAdapter.AttachTransaction(transaction);
783                    fakturyDetailsTableAdapter.AttachTransaction(transaction);
784                    rEKLAMATableAdapter.AttachTransaction(transaction);
785
786                    try
787                    {
788                        fAKTURYTableAdapter.Update(this.rEKLAMADataSet.FAKTURY);
789                        emisjeTableAdapter.Update(this.rEKLAMADataSet.UKAZE_SIE_W_NR);
790                        fakturyDetailsTableAdapter.Update(this.rEKLAMADataSet.FAKTURA_DETAILS);
791                        zamowieniaTableAdapter.Update(this.rEKLAMADataSet.zamowienia);
792
793                        transaction.Commit();
794                    }
795                    catch (Exception e1)
796                    {
797                        transaction.Rollback();
798                        conn.Close();
799                        throw e1;
800                    }
801                }
802                catch (Exception e2)
803                {
804                    MessageBox.Show("Wyst¹pi³ b³¹d: \n" + e2.ToString());
805                }
806                finally
807                {
808                    this.rEKLAMADataSet.UKAZE_SIE_W_NR.Clear();
809                    this.rEKLAMADataSet.DatyWydan.Clear();
810                    this.rEKLAMADataSet.FAKTURA_DETAILS.Clear();
811                    this.fAKTURYBindingSource.ResetBindings(false);
812                    this.fAKTURYDataGridView.Refresh();
813                }
814            }
815
816            this.Cursor = Cursors.Default;
817        }
818
819
820        private void pobierzEmisjeDoKorekty(REKLAMADataSet.FAKTURYRow naglowekFaktury)
821        {
822            this.emisjeTableAdapter.ClearBeforeFill = false;
823            this.datyWydanTableAdapter.ClearBeforeFill = false;
824                     
825            this.emisjeTableAdapter.FillByIdFaktury(this.rEKLAMADataSet.UKAZE_SIE_W_NR, naglowekFaktury.ID_FAKTURY);
826            this.datyWydanTableAdapter.FillByIdFaktury(this.rEKLAMADataSet.DatyWydan, naglowekFaktury.ID_FAKTURY);
827        }
828
829        private void utworzPozycjeFakturyKorekty(REKLAMADataSet.FAKTURYRow naglowekFaktury)
830        {
831            decimal brutto_waluta = 0;
832
833            foreach (REKLAMADataSet.UKAZE_SIE_W_NRRow em in this.rEKLAMADataSet.UKAZE_SIE_W_NR)
834            {
835                if (em.status != 2 ) {
836
837                    REKLAMADataSet.FAKTURA_DETAILSRow fakturaDetailsRow = this.rEKLAMADataSet.FAKTURA_DETAILS.NewFAKTURA_DETAILSRow();
838
839                    REKLAMADataSet.DatyWydanRow[] dataWydanTable =
840                        (REKLAMADataSet.DatyWydanRow[])em.GetChildRows("UKAZE_SIE_W_NR_DatyWydan");
841                    REKLAMADataSet.DatyWydanRow dataWydania = dataWydanTable[0];
842
843                    REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)em.GetParentRow("REKLAMA_UKAZE_SIE_W_NR");
844
845                    fakturaDetailsRow.ROK = Convert.ToInt16(dataWydania.rok);
846                    fakturaDetailsRow.MIESIAC = Convert.ToInt16(dataWydania.ms);
847                    fakturaDetailsRow.TYTUL = Convert.ToInt16(dataWydania.idTytulu);
848                    fakturaDetailsRow.NAZWA_USLUGI = reklama.ID_REKLAMY + " | " + em.Nr_Wydania;
849                    fakturaDetailsRow.NR_WYDANIA = em.Nr_Wydania;
850
851                    fakturaDetailsRow.CENA_JEDN = Convert.ToDecimal(reklama.CENA_JEDN);
852                    fakturaDetailsRow.ILOSC = 1;
853                    fakturaDetailsRow.JM = "szt.";
854
855                    if (naglowekFaktury.Iswaluta_mianoNull())
856                    {
857                        fakturaDetailsRow.UPUST_NETTO = Convert.ToDecimal(reklama.RABAT) * fakturaDetailsRow.CENA_JEDN;
858                        fakturaDetailsRow.UPUST_PR = reklama.RABAT;
859                        decimal netto = (1 - Convert.ToDecimal(reklama.RABAT)) * fakturaDetailsRow.CENA_JEDN;
860                        fakturaDetailsRow.NETTO = netto;
861                        fakturaDetailsRow.S_VAT = reklama.VAT;
862                        decimal VAT = Convert.ToDecimal(reklama.VAT);
863                        fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * netto, 2));
864                        fakturaDetailsRow.BRUTTO = Convert.ToDecimal(Math.Round((1 + VAT) * netto, 2));
865                    }
866                    else
867                    {
868                        fakturaDetailsRow.BRUTTO = Convert.ToDecimal((reklama.Brutto_Euro / reklama.KROTNOŒÆ) * naglowekFaktury.waluta_kurs);
869                        brutto_waluta += Convert.ToDecimal(reklama.Brutto_Euro / reklama.KROTNOŒÆ);
870                        fakturaDetailsRow.S_VAT = reklama.VAT;
871                        decimal VAT = Convert.ToDecimal(reklama.VAT);
872                        decimal brutto = fakturaDetailsRow.BRUTTO;
873                        fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * brutto / (1 + VAT), 2));
874                        decimal netto = brutto - fakturaDetailsRow.VAT;
875                        fakturaDetailsRow.NETTO = netto;
876                        fakturaDetailsRow.UPUST_PR = reklama.RABAT;
877                        if (fakturaDetailsRow.UPUST_PR != 0)
878                        {
879                            fakturaDetailsRow.UPUST_NETTO = netto / Convert.ToDecimal(reklama.RABAT) - netto;
880                        }
881                        else
882                        {
883                            fakturaDetailsRow.UPUST_NETTO = 0;
884                        }
885
886                        fakturaDetailsRow.CENA_JEDN = Convert.ToDecimal(netto + fakturaDetailsRow.UPUST_NETTO);
887                    }
888
889                    fakturaDetailsRow.TYP = 2;
890                    fakturaDetailsRow.PODTYP = 1;
891                    fakturaDetailsRow.ID_FAKTURY = naglowekFaktury.ID_FAKTURY;
892
893                    if (reklama.wyroznienie)
894                    {
895                        fakturaDetailsRow.wyroznienie = true;
896                    }
897
898                    this.rEKLAMADataSet.FAKTURA_DETAILS.AddFAKTURA_DETAILSRow(fakturaDetailsRow);
899                }
900            }
901
902            if (brutto_waluta != 0)
903            {
904                naglowekFaktury.waluta_brutto = Convert.ToDouble(brutto_waluta);
905            }
906        }
907
908        private void fAKTURYDataGridView_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
909        {
910            foreach (DataGridViewRow row in fAKTURYDataGridView.Rows)
911            {
912                DataRowView r = (DataRowView)row.DataBoundItem;
913                REKLAMADataSet.FAKTURYRow f = (REKLAMADataSet.FAKTURYRow) r.Row;
914                if (!f.IsidFakturyKorektaNull())
915                {
916                    row.DefaultCellStyle.ForeColor = Color.Red;
917                }
918            }
919        }
920
921        private void korektaDoExportButton_Click(object sender, EventArgs e)
922        {
923            if (fAKTURYBindingSource.Current != null)
924            {
925                this.Cursor = Cursors.WaitCursor;
926
927                DataRowView row = (DataRowView)fAKTURYBindingSource.Current;
928                REKLAMADataSet.FAKTURYRow faktura = (REKLAMADataSet.FAKTURYRow)row.Row;
929
930                if (faktura.KOREKTA == 1 && faktura.EKSPORT == true)
931                {
932                    faktura.EKSPORT = false;
933                    fAKTURYBindingSource.EndEdit();
934                    fAKTURYTableAdapter.Update(this.rEKLAMADataSet.FAKTURY);
935                }
936
937                this.Cursor = Cursors.Default;
938            }
939        }
940
941        private void button6_Click(object sender, EventArgs e)
942        {
943            if (fAKTURYBindingSource.Current != null)
944            {
945                DataRowView row = (DataRowView)fAKTURYBindingSource.Current;
946                REKLAMADataSet.FAKTURYRow f =
947                    (REKLAMADataSet.FAKTURYRow)row.Row;
948
949                REKLAMADataSetTableAdapters.WplatyTableAdapter wplatyTableAdapter
950                = new Baza_Reklam.REKLAMADataSetTableAdapters.WplatyTableAdapter();
951                wplatyTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
952                REKLAMADataSet.WplatyDataTable table = wplatyTableAdapter.GetDataByIdFaktury(f.ID_FAKTURY);
953
954                PaymentForm2 pf2;
955
956                if (table.Count == 0)
957                {
958                    pf2 = new PaymentForm2(0, f.ID_FAKTURY);
959                }
960                else
961                {
962                    pf2 = new PaymentForm2(table[0].idWplaty, f.ID_FAKTURY);
963                }
964
965                pf2.ShowDialog();
966
967            }
968        }
969
970        private void reklama1Button_Click(object sender, EventArgs e)
971        {
972            if (rEKLAMABindingSource.Current != null)
973            {
974                DataRowView row = (DataRowView)rEKLAMABindingSource.Current;
975                REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)row.Row;
976                int id = reklama.ReklamaID;
977
978                OrderDetails.getOrderDetails().pokazSzczegolyZamowienia(id);
979               
980                if (OrderDetails.getOrderDetails().ShowDialog() == DialogResult.OK)
981                {
982                   rEKLAMATableAdapter.FillByIdZamowienia(this.rEKLAMADataSet.REKLAMA,reklama.idZamowienia);
983                   rEKLAMABindingSource.Position = rEKLAMABindingSource.Find("reklamaId", id);
984                }
985            }
986        }
987
988        private void reklama2Button_Click(object sender, EventArgs e)
989        {
990            if (rEKLAMABindingSource1.Current != null)
991            {
992                DataRowView row = (DataRowView)rEKLAMABindingSource.Current;
993                REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)row.Row;
994                int id = reklama.ReklamaID;
995
996                OrderDetails.getOrderDetails().pokazSzczegolyZamowienia(id);
997                if (OrderDetails.getOrderDetails().ShowDialog() == DialogResult.OK)
998                {
999                    ReklamyBezZamowienia = rEKLAMATableAdapter.GetDataByCustomerIdandIdZamowienia(klient.CustomerID);
1000                    rEKLAMABindingSource1.Position = rEKLAMABindingSource1.Find("reklamaId", id);
1001                }
1002            }
1003        }
1004
1005        private void fAKTURYBindingSource_CurrentChanged(object sender, EventArgs e)
1006        {
1007            if (fAKTURYBindingSource.Current != null)
1008            {
1009                if (
1010                    ((REKLAMADataSet.FAKTURYRow)
1011                    ((DataRowView)fAKTURYBindingSource.Current).Row).KOREKTA == 1)
1012                {
1013                    wplataButton.Enabled = false;
1014                }
1015                else
1016                {
1017                    wplataButton.Enabled = true;
1018                }
1019            }
1020        }
1021
1022        private void zamowieniaBindingSource_CurrentChanged(object sender, EventArgs e)
1023        {
1024            if (zamowieniaBindingSource.Current != null)
1025            {
1026                int idZamowienia = Convert.ToInt32(((DataRowView)zamowieniaBindingSource.Current)["idZamowienia"]);
1027                rEKLAMATableAdapter.FillByIdZamowienia(this.rEKLAMADataSet.REKLAMA, idZamowienia);
1028                fAKTURYTableAdapter.FillByIdZamowienia(this.rEKLAMADataSet.FAKTURY, idZamowienia);
1029            }
1030        }
1031
1032        private void usunFaktureButton_Click(object sender, EventArgs e)
1033        {
1034            //TODO:
1035        }
1036
1037    }
1038}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.