Pokaż
Ignoruj:
Pliki:
1 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • Baza Reklam 2 - Faktury/ZamowieniaForm.cs

    r19 r30  
    3434            new Baza_Reklam.REKLAMADataSetTableAdapters.FAKTURA_DETAILSTableAdapter(); 
    3535 
     36        private REKLAMADataSetTableAdapters.WplatyTableAdapter wplatyTableAdapter = 
     37            new Baza_Reklam.REKLAMADataSetTableAdapters.WplatyTableAdapter(); 
     38 
    3639        private REKLAMADataSetTableAdapters.DatyWydanTableAdapter datyWydanTableAdapter = 
    3740            new Baza_Reklam.REKLAMADataSetTableAdapters.DatyWydanTableAdapter(); 
     
    7477            this.idZamowienia = idZamowienia; 
    7578 
    76             this.KlientLabel.Text = "KOD KLIENTA:  " + klient.kodKlienta; 
    7779        } 
    7880 
     
    9092            this.datyWydanTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; 
    9193            this.kursyWalutTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; 
     94            this.wplatyTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value; 
    9295        } 
    9396 
     
    114117            { 
    115118                zamowieniaBindingSource.Position = 0; 
     119            } 
     120 
     121            if (klient != null) 
     122            { 
     123                this.KlientLabel.Text = "KOD KLIENTA:  " + klient.kodKlienta; 
    116124            } 
    117125        } 
     
    299307                } 
    300308 
     309                wystawFakture(zamowienie, klient); 
     310 
     311                this.Cursor = Cursors.Default; 
     312            } 
     313        } 
     314 
     315        private int wystawFakture(REKLAMADataSet.zamowieniaRow zamowienie, REKLAMADataSet.KLIENCIRow klient) 
     316        { 
     317            int idNaglowka = 0; 
     318             
     319            try 
     320            { 
     321                REKLAMADataSet.FAKTURYRow naglowekFaktury = utworzNaglowekFaktury(zamowienie, klient); 
     322                this.rEKLAMADataSet.FAKTURY.AddFAKTURYRow(naglowekFaktury); 
     323                pobierzOznaczEmisje(zamowienie, naglowekFaktury); 
     324                utworzPozycjeFaktury(naglowekFaktury); 
     325                dodajWplate(naglowekFaktury); 
     326 
     327                zamowienie.zafakturowano = true; 
     328                zamowienie.EndEdit(); 
     329 
     330                SqlConnection conn = new SqlConnection(ConnString.getConnString().Value); 
     331 
     332                fAKTURYTableAdapter.Connection = conn; 
     333                emisjeTableAdapter.Connection = conn; 
     334                zamowieniaTableAdapter.Connection = conn; 
     335                fakturyDetailsTableAdapter.Connection = conn; 
     336                rEKLAMATableAdapter.Connection = conn; 
     337                wplatyTableAdapter.Connection = conn; 
     338 
     339                conn.Open(); 
     340 
     341                SqlTransaction transaction = conn.BeginTransaction(); 
     342                fAKTURYTableAdapter.AttachTransaction(transaction); 
     343                emisjeTableAdapter.AttachTransaction(transaction); 
     344                zamowieniaTableAdapter.AttachTransaction(transaction); 
     345                fakturyDetailsTableAdapter.AttachTransaction(transaction); 
     346                rEKLAMATableAdapter.AttachTransaction(transaction); 
     347                wplatyTableAdapter.AttachTransaction(transaction); 
     348 
    301349                try 
    302350                { 
    303                     REKLAMADataSet.FAKTURYRow naglowekFaktury = utworzNaglowekFaktury(zamowienie, klient); 
    304                     this.rEKLAMADataSet.FAKTURY.AddFAKTURYRow(naglowekFaktury); 
    305                     pobierzOznaczEmisje(zamowienie, naglowekFaktury); 
    306                     utworzPozycjeFaktury(naglowekFaktury); 
    307  
    308                     zamowienie.zafakturowano = true; 
    309                     zamowienie.EndEdit(); 
    310  
    311                     SqlConnection conn = new SqlConnection(ConnString.getConnString().Value); 
    312  
    313                     fAKTURYTableAdapter.Connection = conn; 
    314                     emisjeTableAdapter.Connection = conn; 
    315                     zamowieniaTableAdapter.Connection = conn; 
    316                     fakturyDetailsTableAdapter.Connection = conn; 
    317                     rEKLAMATableAdapter.Connection = conn; 
    318  
    319                     conn.Open(); 
    320  
    321                     SqlTransaction transaction = conn.BeginTransaction(); 
    322                     fAKTURYTableAdapter.AttachTransaction(transaction); 
    323                     emisjeTableAdapter.AttachTransaction(transaction); 
    324                     zamowieniaTableAdapter.AttachTransaction(transaction); 
    325                     fakturyDetailsTableAdapter.AttachTransaction(transaction); 
    326                     rEKLAMATableAdapter.AttachTransaction(transaction); 
    327  
    328                     try 
    329                     { 
    330                         fAKTURYTableAdapter.Update(this.rEKLAMADataSet.FAKTURY); 
    331                         emisjeTableAdapter.Update(this.rEKLAMADataSet.UKAZE_SIE_W_NR); 
    332                         fakturyDetailsTableAdapter.Update(this.rEKLAMADataSet.FAKTURA_DETAILS); 
    333  
    334                         int il = (int)emisjeTableAdapter.iloscNiezafakturowanychEmisjiWZamowieniu( 
    335                             zamowienie.idZamowienia); 
    336                         if (il == 0) 
    337                         { 
    338                             zamowienie.zafakturowanoWszystko = true; 
    339                         } 
    340                          
    341                         zamowieniaTableAdapter.Update(this.rEKLAMADataSet.zamowienia); 
    342                         rEKLAMATableAdapter.Update(this.rEKLAMADataSet.REKLAMA); 
    343  
    344                         transaction.Commit(); 
    345                         dtpZmianaDaty.Value = DateTime.Today; 
    346                     } 
    347                     catch (Exception e1) 
    348                     { 
    349                         transaction.Rollback(); 
    350                         conn.Close(); 
    351                         this.rEKLAMADataSet.FAKTURY.RemoveFAKTURYRow(naglowekFaktury); 
    352                         this.fAKTURYBindingSource.ResetBindings(false); 
    353                         this.fAKTURYDataGridView.Refresh(); 
    354                         throw e1; 
    355                     } 
    356                 } 
    357                 catch (Exception e2) 
    358                 { 
    359                     MessageBox.Show("Wyst¹pi³ b³¹d: \n" + e2.ToString()); 
    360                 } 
    361                 finally 
    362                 { 
     351                    fAKTURYTableAdapter.Update(this.rEKLAMADataSet.FAKTURY); 
     352                    idNaglowka = naglowekFaktury.ID_FAKTURY; 
     353                    emisjeTableAdapter.Update(this.rEKLAMADataSet.UKAZE_SIE_W_NR); 
     354                    fakturyDetailsTableAdapter.Update(this.rEKLAMADataSet.FAKTURA_DETAILS); 
     355                    wplatyTableAdapter.Update(this.rEKLAMADataSet.Wplaty); 
     356 
     357                    int il = (int)emisjeTableAdapter.iloscNiezafakturowanychEmisjiWZamowieniu( 
     358                        zamowienie.idZamowienia); 
     359                    if (il == 0) 
     360                    { 
     361                        zamowienie.zafakturowanoWszystko = true; 
     362                    } 
     363 
     364                    zamowieniaTableAdapter.Update(this.rEKLAMADataSet.zamowienia); 
     365                    rEKLAMATableAdapter.Update(this.rEKLAMADataSet.REKLAMA); 
     366 
     367                    transaction.Commit(); 
     368                    dtpZmianaDaty.Value = DateTime.Today; 
     369                } 
     370                catch (Exception e1) 
     371                { 
     372                    transaction.Rollback(); 
     373                    conn.Close(); 
    363374                    this.rEKLAMADataSet.UKAZE_SIE_W_NR.Clear(); 
    364375                    this.rEKLAMADataSet.DatyWydan.Clear(); 
    365376                    this.rEKLAMADataSet.FAKTURA_DETAILS.Clear(); 
     377                    this.rEKLAMADataSet.Wplaty.Clear(); 
     378                    this.rEKLAMADataSet.FAKTURY.RemoveFAKTURYRow(naglowekFaktury); 
    366379                    this.fAKTURYBindingSource.ResetBindings(false); 
    367                     this.fAKTURYBindingSource.Sort = "NUMER"; 
    368380                    this.fAKTURYDataGridView.Refresh(); 
    369                     this.zamowieniaBindingSource.ResetBindings(false); 
    370                 } 
    371  
    372                 this.Cursor = Cursors.Default; 
    373             } 
     381                    throw e1; 
     382                } 
     383            } 
     384            catch (Exception e2) 
     385            { 
     386                MessageBox.Show("Wyst¹pi³ b³¹d: \n" + e2.ToString()); 
     387            } 
     388            finally 
     389            { 
     390                this.rEKLAMADataSet.UKAZE_SIE_W_NR.Clear(); 
     391                this.rEKLAMADataSet.DatyWydan.Clear(); 
     392                this.rEKLAMADataSet.FAKTURA_DETAILS.Clear(); 
     393                this.rEKLAMADataSet.Wplaty.Clear(); 
     394                this.fAKTURYBindingSource.ResetBindings(false); 
     395                this.fAKTURYBindingSource.Sort = "NUMER"; 
     396                this.fAKTURYDataGridView.Refresh(); 
     397                this.zamowieniaBindingSource.ResetBindings(false); 
     398                 
     399            } 
     400 
     401            return idNaglowka; 
     402        } 
     403 
     404        private void dodajWplate(REKLAMADataSet.FAKTURYRow naglowekFaktury) 
     405        { 
     406            REKLAMADataSet.WplatyRow wplata = this.rEKLAMADataSet.Wplaty.NewWplatyRow(); 
     407            wplata.idFaktury = naglowekFaktury.ID_FAKTURY; 
     408            wplata.idZamowienia = naglowekFaktury.idZamowienia; 
     409            this.rEKLAMADataSet.Wplaty.AddWplatyRow(wplata); 
    374410        } 
    375411 
     
    576612            naglowekFaktury.NABYWCA_ADRES = klient.Adres_Fkatura; 
    577613            naglowekFaktury.NABYWCA_NIP = klient.Nip; 
    578             naglowekFaktury.opis = "TU BÊDZIE JAKIŒ OPIS"; 
     614            naglowekFaktury.opis = "Faktura za reklamy zgodnie z zamówieniem: "  
     615                + klient.kodKlienta +  
     616                "/" + zamowienie.nrZamowienia +  
     617                "/" + zamowienie.kodAgenta +  
     618                "/" + zamowienie.rokZamowienia; 
    579619 
    580620            switch (zamowienie.sposobZaplaty) 
     
    680720                if (row.IsidFakturyKorektaNull()) 
    681721                { 
    682                     FactureViewer fv = new FactureViewer(row.ID_FAKTURY); 
     722                    FactureViewer fv = new FactureViewer(row.ID_FAKTURY,false); 
    683723                    fv.ShowDialog(); 
    684724                } 
     
    819859            naglowekKorekty.NABYWCA_NIP = faktura.NABYWCA_NIP; 
    820860            naglowekKorekty.TERMIN_ZAPLATY = DateTime.Today.AddDays(7); 
    821             naglowekKorekty.opis = "TU BÊDZIE JAKIŒ OPIS"; 
     861            naglowekKorekty.opis = "rezygnacja z emisji reklamy"; 
    822862 
    823863            naglowekKorekty.SPOSOB_ZAPLATY = faktura.SPOSOB_ZAPLATY; 
     
    9991039 
    10001040                pf2.ShowDialog(); 
    1001  
    10021041            } 
    10031042        } 
     
    10871126                    if (faktura.KOREKTA) 
    10881127                    { 
    1089                         usunKorekte(faktura); 
     1128                        int i = fAKTURYBindingSource.Find("idFakturyKorekta",faktura.ID_FAKTURY); 
     1129                        if (i > -1) 
     1130                        { 
     1131                            MessageBox.Show("Nie mo¿na usun¹æ faktury"); 
     1132                        } 
     1133                        else 
     1134                        { 
     1135                            usunKorekte(faktura); 
     1136                        } 
    10901137                    } 
    10911138                    else 
     
    10991146        } 
    11001147 
    1101         private void usunKorekte(REKLAMADataSet.FAKTURYRow faktura) 
    1102         { 
    1103             int idKorekty = faktura.ID_FAKTURY; 
    1104             int idKorygowanejFaktury = faktura.idFakturyKorekta; 
    1105             int idZam = faktura.idZamowienia; 
    1106  
    1107             fAKTURYBindingSource.Position = fAKTURYBindingSource.Find("id_faktury", 
    1108                 idKorygowanejFaktury); 
    1109  
    1110             REKLAMADataSet.FAKTURYRow f = (REKLAMADataSet.FAKTURYRow) 
    1111                 ((DataRowView)fAKTURYBindingSource.Current).Row; 
    1112             f.SetID_FK_KORNull(); 
     1148        private void usunKorekte(REKLAMADataSet.FAKTURYRow korekta) 
     1149        { 
     1150            int idKorekty = korekta.ID_FAKTURY; 
     1151            int idKorygowanejFaktury = korekta.idFakturyKorekta; 
     1152            int idZam = korekta.idZamowienia; 
     1153 
     1154              int i = fAKTURYBindingSource.Find("ID_FK_KOR",idKorekty); 
     1155          
     1156            REKLAMADataSet.FAKTURYRow korygowanaFaktura = (REKLAMADataSet.FAKTURYRow) 
     1157                ((DataRowView)fAKTURYBindingSource.List[i]).Row; 
     1158 
     1159             int j = fAKTURYBindingSource.Find("ID_FAKTURY",idKorygowanejFaktury); 
     1160 
     1161             if (j > -1) 
     1162             { 
     1163                 REKLAMADataSet.FAKTURYRow poprzedniaKorekta = (REKLAMADataSet.FAKTURYRow) 
     1164                     ((DataRowView)fAKTURYBindingSource.List[j]).Row; 
     1165 
     1166                 korygowanaFaktura.ID_FK_KOR = poprzedniaKorekta.ID_FAKTURY; 
     1167             } 
     1168             else 
     1169             { 
     1170                 korygowanaFaktura.SetID_FK_KORNull(); 
     1171             } 
     1172             
    11131173            fAKTURYBindingSource.EndEdit(); 
    11141174 
     
    12091269                fAKTURYTableAdapter.Delete(idFakt); 
    12101270                fakturyDetailsTableAdapter.Delete(idFakt); 
     1271                wplatyTableAdapter.Delete(idFakt); 
    12111272                emisjeTableAdapter.Update(this.rEKLAMADataSet.UKAZE_SIE_W_NR); 
    12121273                zamowieniaTableAdapter.Update(this.rEKLAMADataSet.zamowienia); 
     
    12261287            } 
    12271288        } 
    1228               
     1289 
     1290        private void proformaButton_Click(object sender, EventArgs e) 
     1291        { 
     1292            if (zamowieniaBindingSource.Current != null) 
     1293            { 
     1294                this.Cursor = Cursors.WaitCursor; 
     1295 
     1296                DataRowView z = (DataRowView)zamowieniaBindingSource.Current; 
     1297                REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow)z.Row; 
     1298 
     1299                REKLAMADataSet.KLIENCIRow klient = (REKLAMADataSet.KLIENCIRow)this.klienciTableAdapter.GetDataByCustomerId(zamowienie.idKlienta).Rows[0]; 
     1300                string errorMessage = czyMoznaZafakturowac(zamowienie, klient); 
     1301 
     1302                if (errorMessage != string.Empty) 
     1303                { 
     1304                    MessageBox.Show(errorMessage); 
     1305                    this.Cursor = Cursors.Default; 
     1306                    return; 
     1307                } 
     1308 
     1309                int id = wystawFakture(zamowienie, klient); 
     1310                FactureViewer fv = new FactureViewer(id,true); 
     1311 
     1312                fv.ShowDialog(); 
     1313 
     1314                DataRow[] rows = this.rEKLAMADataSet.FAKTURY.Select("id_faktury=" + id); 
     1315                usunFakture((REKLAMADataSet.FAKTURYRow)rows[0]); 
     1316 
     1317                this.Cursor = Cursors.Default; 
     1318            } 
     1319        } 
    12291320    } 
    12301321}