Index: trunk/BazaReklam/ZamowieniaForm.cs
===================================================================
--- trunk/BazaReklam/ZamowieniaForm.cs (revision 554)
+++ trunk/BazaReklam/ZamowieniaForm.cs (revision 564)
@@ -290,32 +290,37 @@
         private void button1_Click(object sender, EventArgs e)
         {
-            if (zamowieniaBindingSource.Current != null)
-            {
-                Cursor = Cursors.WaitCursor;
-
-                DataRowView z = (DataRowView) zamowieniaBindingSource.Current;
-                REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow) z.Row;
-
-                REKLAMADataSet.KLIENCIRow _klient =
-                    (REKLAMADataSet.KLIENCIRow) klienciTableAdapter.GetDataByCustomerId(zamowienie.idKlienta).Rows[0];
-                string errorMessage = czyMoznaZafakturowac(zamowienie, _klient);
-
-                if (errorMessage != string.Empty)
-                {
-                    MessageBox.Show(errorMessage);
-                    Cursor = Cursors.Default;
-                    return;
-                }
-
-                wystawFakture(zamowienie, _klient, false);
-
-                RestoreConnections();
-
-                zamowieniaBindingSource.ResetBindings(false);
-
-                fAKTURYBindingSource.MoveLast();
-
+            if (zamowieniaBindingSource.Current == null) return;
+
+            if (rEKLAMADataSet.REKLAMA.Rows.Count <= 0)
+            {
+                MessageBox.Show("Proszê dodaæ przynajmniej jedn¹ reklamê do zamówienia.", "Faktura");
+                return;
+            }
+            
+            Cursor = Cursors.WaitCursor;
+
+            DataRowView z = (DataRowView) zamowieniaBindingSource.Current;
+            REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow) z.Row;
+
+            REKLAMADataSet.KLIENCIRow _klient =
+                (REKLAMADataSet.KLIENCIRow) klienciTableAdapter.GetDataByCustomerId(zamowienie.idKlienta).Rows[0];
+            string errorMessage = czyMoznaZafakturowac(zamowienie, _klient);
+
+            if (errorMessage != string.Empty)
+            {
+                MessageBox.Show(errorMessage);
                 Cursor = Cursors.Default;
-            }
+                return;
+            }
+
+            wystawFakture(zamowienie, _klient, false);
+
+            RestoreConnections();
+
+            zamowieniaBindingSource.ResetBindings(false);
+
+            fAKTURYBindingSource.MoveLast();
+
+            Cursor = Cursors.Default;
         }
 
@@ -1354,31 +1359,39 @@
         private void proformaButton_Click(object sender, EventArgs e)
         {
-            if (zamowieniaBindingSource.Current != null)
-            {
-                Cursor = Cursors.WaitCursor;
-
-                DataRowView z = (DataRowView)zamowieniaBindingSource.Current;
-                REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow)z.Row;
-
-                REKLAMADataSet.KLIENCIRow _klient = (REKLAMADataSet.KLIENCIRow)klienciTableAdapter.GetDataByCustomerId(zamowienie.idKlienta).Rows[0];
-                string errorMessage = czyMoznaZafakturowac(zamowienie, _klient);
-
-                if (errorMessage != string.Empty)
-                {
-                    MessageBox.Show(errorMessage);
-                    Cursor = Cursors.Default;
-                    return;
-                }
-
-                int id = wystawFakture(zamowienie, _klient, true);
+            if (zamowieniaBindingSource.Current == null) return;
+
+            if (rEKLAMADataSet.REKLAMA.Rows.Count <= 0)
+            {
+                MessageBox.Show("Proszê dodaæ przynajmniej jedn¹ reklamê do zamówienia.", "Faktura proforma");
+                return;
+            }
+
+            Cursor = Cursors.WaitCursor;
+
+            DataRowView z = (DataRowView) zamowieniaBindingSource.Current;
+            REKLAMADataSet.zamowieniaRow zamowienie = (REKLAMADataSet.zamowieniaRow) z.Row;
+
+            REKLAMADataSet.KLIENCIRow _klient =
+                (REKLAMADataSet.KLIENCIRow) klienciTableAdapter.GetDataByCustomerId(zamowienie.idKlienta).Rows[0];
+            string errorMessage = czyMoznaZafakturowac(zamowienie, _klient);
+
+            if (errorMessage != string.Empty)
+            {
+                MessageBox.Show(errorMessage);
+                Cursor = Cursors.Default;
+                return;
+            }
+
+            int id = wystawFakture(zamowienie, _klient, true);
+            try
+            {
                 FactureViewer fv = new FactureViewer(id, true, _klient.kodKlienta);
-
                 fv.ShowDialog();
-
+            }
+            finally
+            {
                 DataRow[] rows = rEKLAMADataSet.FAKTURY.Select("id_faktury=" + id);
-                usunFakture((REKLAMADataSet.FAKTURYRow)rows[0]);
-
+                usunFakture((REKLAMADataSet.FAKTURYRow) rows[0]);
                 RestoreConnections();
-
                 Cursor = Cursors.Default;
             }
