| 1 | using System;
|
|---|
| 2 | using System.Collections.Generic;
|
|---|
| 3 | using System.Data;
|
|---|
| 4 | using System.Data.SqlClient;
|
|---|
| 5 | using System.Windows.Forms;
|
|---|
| 6 | using Baza_Reklam.Classes.Helpers;
|
|---|
| 7 | using Baza_Reklam.Classes.Interfaces;
|
|---|
| 8 | using Baza_Reklam.Classes.Model;
|
|---|
| 9 | using Baza_Reklam.Classes.Repositories;
|
|---|
| 10 |
|
|---|
| 11 | namespace Baza_Reklam
|
|---|
| 12 | {
|
|---|
| 13 | public partial class Facturer : Form
|
|---|
| 14 | {
|
|---|
| 15 | private int reklamaId;
|
|---|
| 16 | private int customerId;
|
|---|
| 17 | private readonly string _connectionString = ConnString.getConnString().Value;
|
|---|
| 18 |
|
|---|
| 19 | private List<Title> _titles;
|
|---|
| 20 |
|
|---|
| 21 | public Facturer(int rekId)
|
|---|
| 22 | {
|
|---|
| 23 | InitializeComponent();
|
|---|
| 24 | reklamaId = rekId;
|
|---|
| 25 |
|
|---|
| 26 | kLIENCITableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
|
|---|
| 27 | kONTATableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
|
|---|
| 28 | fAKTURYTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
|
|---|
| 29 | rEKLAMATableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
|
|---|
| 30 | emisjeTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
|
|---|
| 31 | fakturA_DETAILSTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
|
|---|
| 32 | datyWydanTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
|
|---|
| 33 |
|
|---|
| 34 | TitleRepository repository = new TitleRepository(ConnString.getConnString().Value);
|
|---|
| 35 | _titles = repository.FindAllActive();
|
|---|
| 36 | }
|
|---|
| 37 |
|
|---|
| 38 | /// <summary>
|
|---|
| 39 | /// £aduje informacje z reklamy o fakturze - je¿eli by³a wczeniej wystawiona proforma
|
|---|
| 40 | /// lub inna faktura, to w tabeli REKLAMA sa zapamietane min. daty. Je¿eli faktura jest wystawiana
|
|---|
| 41 | /// po raz pierwszy to wpisuje daty systemowe.
|
|---|
| 42 | /// </summary>
|
|---|
| 43 | private void Facturer_Load(object sender, EventArgs e)
|
|---|
| 44 | {
|
|---|
| 45 | rEKLAMATableAdapter.FillByReklamaId(rEKLAMADataSet.REKLAMA, reklamaId);
|
|---|
| 46 |
|
|---|
| 47 | if (rEKLAMABindingSource.Current != null)
|
|---|
| 48 | {
|
|---|
| 49 | DataRowView row = (DataRowView)rEKLAMABindingSource.Current;
|
|---|
| 50 |
|
|---|
| 51 | int idAgencji = DbUtils.idAgencji(row["SYMBOL AKWIZYTORA"].ToString());
|
|---|
| 52 |
|
|---|
| 53 | kONTATableAdapter.FillByIdAgencji(sLOWNIKDataSet.KONTA, idAgencji);
|
|---|
| 54 |
|
|---|
| 55 | rEKLAMABindingSource.ResetBindings(false);
|
|---|
| 56 |
|
|---|
| 57 | customerId = Convert.ToInt32(row["customerId"]);
|
|---|
| 58 |
|
|---|
| 59 | kLIENCITableAdapter.FillByCustomerId(rEKLAMADataSet.KLIENCI, customerId);
|
|---|
| 60 |
|
|---|
| 61 | if (row["id_faktury"] != DBNull.Value)
|
|---|
| 62 | {
|
|---|
| 63 | wystawFaktureButton.Enabled = false;
|
|---|
| 64 | wystawProformeButton.Enabled = false;
|
|---|
| 65 | // usunButton.Enabled = true & User.Instance().St_kierownik;
|
|---|
| 66 |
|
|---|
| 67 | nUMER_ROZTextBox.Text = DbUtils.tagAgenta(row["SYMBOL AKWIZYTORA"].ToString());
|
|---|
| 68 |
|
|---|
| 69 | string numer_fakt = Convert.ToString(row["FAKTURA NUMER"]);
|
|---|
| 70 | string[] read = new string[3];
|
|---|
| 71 | read = numer_fakt.Split("/".ToCharArray(), 3);
|
|---|
| 72 | nUMERTextBox.Text = read[0];
|
|---|
| 73 |
|
|---|
| 74 | groupBox2.Enabled = true & User.Instance().IsAdmin;
|
|---|
| 75 |
|
|---|
| 76 | }
|
|---|
| 77 | else
|
|---|
| 78 | {
|
|---|
| 79 | Title title = _titles.Find(delegate(Title t) { return t.ShortName == row["TYTU£"].ToString(); });
|
|---|
| 80 | IInvoiceProvider invoiceProvider = InvoiceProviderFactory.GetInvoiceProviderById(title.InvoiceProvider);
|
|---|
| 81 |
|
|---|
| 82 | nUMER_ROZTextBox.Text = DbUtils.tagAgenta(row["SYMBOL AKWIZYTORA"].ToString());
|
|---|
| 83 | nUMERTextBox.Text = DbUtils.numerNowejFaktury(nUMER_ROZTextBox.Text, DateTime.Today.Year, invoiceProvider.SystemKsiegowyId).ToString();
|
|---|
| 84 |
|
|---|
| 85 | if (row["FAKTURA DATA SPRZEDA¯Y"] == DBNull.Value)
|
|---|
| 86 | {
|
|---|
| 87 | dATA_SPRZEDAZYDateTimePicker.Value = DateTime.Today;
|
|---|
| 88 | }
|
|---|
| 89 |
|
|---|
| 90 | if (row["FAKTURA DATA WYSTAWIENIA"] == DBNull.Value)
|
|---|
| 91 | {
|
|---|
| 92 | dATA_WYSTAWIENIADateTimePicker.Value = DateTime.Today;
|
|---|
| 93 | }
|
|---|
| 94 |
|
|---|
| 95 | if (row["Zaliczka_Data"] == DBNull.Value)
|
|---|
| 96 | {
|
|---|
| 97 | zaliczka_DataDateTimePicker.Value = DateTime.Today;
|
|---|
| 98 | }
|
|---|
| 99 |
|
|---|
| 100 | if (row["FAKTURA TERMIN ZAP£ATY"] == DBNull.Value)
|
|---|
| 101 | {
|
|---|
| 102 | tERMIN_ZAPLATYDateTimePicker.Value = DateTime.Today.AddDays(7);
|
|---|
| 103 | }
|
|---|
| 104 |
|
|---|
| 105 | sPOSOB_ZAPLATYListBox.SelectedIndex = 1;
|
|---|
| 106 |
|
|---|
| 107 | rEKLAMABindingSource.EndEdit();
|
|---|
| 108 |
|
|---|
| 109 | wystawFaktureButton.Enabled = true;
|
|---|
| 110 | wystawProformeButton.Enabled = true;
|
|---|
| 111 | // usunButton.Enabled = false;
|
|---|
| 112 |
|
|---|
| 113 | // iD_KONTAComboBox.SelectedIndex = 0;
|
|---|
| 114 | }
|
|---|
| 115 | }
|
|---|
| 116 | }
|
|---|
| 117 |
|
|---|
| 118 | /// <summary>
|
|---|
| 119 | /// Wywietla szczegó³y konta
|
|---|
| 120 | /// </summary>
|
|---|
| 121 | private void button1_Click(object sender, EventArgs e)
|
|---|
| 122 | {
|
|---|
| 123 | if (kONTABindingSource.Current != null)
|
|---|
| 124 | {
|
|---|
| 125 | DataRowView row = (DataRowView)kONTABindingSource.Current;
|
|---|
| 126 | MessageBox.Show(row["konto"].ToString());
|
|---|
| 127 | }
|
|---|
| 128 | }
|
|---|
| 129 |
|
|---|
| 130 | private void wystawFaktureButton_Click(object sender, EventArgs e)
|
|---|
| 131 | {
|
|---|
| 132 | Cursor = Cursors.WaitCursor;
|
|---|
| 133 |
|
|---|
| 134 | bool ok = false;
|
|---|
| 135 |
|
|---|
| 136 | // if (tYPLabel1.Text == "BEZP£ATNA"
|
|---|
| 137 |
|
|---|
| 138 | if (zATWIERDZONO_DO_DRUKUCheckBox.CheckState != CheckState.Checked)
|
|---|
| 139 | {
|
|---|
| 140 | MessageBox.Show("Zamówienie nie jest zatwierdzone do druku.");
|
|---|
| 141 | Cursor = Cursors.Default;
|
|---|
| 142 | return;
|
|---|
| 143 | }
|
|---|
| 144 |
|
|---|
| 145 | if (DbUtils.istniejeFaktura(Convert.ToInt32(nUMERTextBox.Text),
|
|---|
| 146 | nUMER_ROZTextBox.Text, dATA_WYSTAWIENIADateTimePicker.Value.Year))
|
|---|
| 147 | {
|
|---|
| 148 | MessageBox.Show("Istnieje ju¿ faktura o numerze " + nUMERTextBox.Text + "/" + nUMER_ROZTextBox.Text + "/" + dATA_WYSTAWIENIADateTimePicker.Value.Year.ToString());
|
|---|
| 149 | Cursor = Cursors.Default;
|
|---|
| 150 | return;
|
|---|
| 151 | }
|
|---|
| 152 |
|
|---|
| 153 | if (iD_KONTAComboBox.SelectedValue == null)
|
|---|
| 154 | {
|
|---|
| 155 | MessageBox.Show("Wybierz konto");
|
|---|
| 156 | Cursor = Cursors.Default;
|
|---|
| 157 | return;
|
|---|
| 158 | }
|
|---|
| 159 |
|
|---|
| 160 |
|
|---|
| 161 | if ((nipKrajTextBox.Text.Length == 0) && ((int)iD_KONTAComboBox.SelectedValue != 1))
|
|---|
| 162 | {
|
|---|
| 163 | if (MessageBox.Show("Brak kodu kraju w EU. Czy na pewno chcesz wystawiæ fakturê?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)
|
|---|
| 164 | == DialogResult.No)
|
|---|
| 165 | {
|
|---|
| 166 | Cursor = Cursors.Default;
|
|---|
| 167 | return;
|
|---|
| 168 | }
|
|---|
| 169 | }
|
|---|
| 170 |
|
|---|
| 171 | SqlConnection conn = new SqlConnection(ConnString.getConnString().Value);
|
|---|
| 172 |
|
|---|
| 173 | SqlTransaction transaction;
|
|---|
| 174 |
|
|---|
| 175 | SqlCommand command = new SqlCommand("Proc_Make_Faktura_Waluty", conn);
|
|---|
| 176 | command.CommandType = CommandType.StoredProcedure;
|
|---|
| 177 |
|
|---|
| 178 | //dodawanie parametrow
|
|---|
| 179 | command.Parameters.AddWithValue("@ReklamaID", reklamaId);
|
|---|
| 180 | command.Parameters.AddWithValue("@FakturaNumer", nUMERTextBox.Text);
|
|---|
| 181 | command.Parameters.AddWithValue("@NumerRoz", nUMER_ROZTextBox.Text);
|
|---|
| 182 |
|
|---|
| 183 | switch (sPOSOB_ZAPLATYListBox.SelectedIndex)
|
|---|
| 184 | {
|
|---|
| 185 | case 1:
|
|---|
| 186 | command.Parameters.AddWithValue("@FakturaSposobZaplaty", "Przelew");
|
|---|
| 187 | break;
|
|---|
| 188 | case 2:
|
|---|
| 189 | command.Parameters.AddWithValue("@FakturaSposobZaplaty", "Gotówka");
|
|---|
| 190 | break;
|
|---|
| 191 | case 3:
|
|---|
| 192 | command.Parameters.AddWithValue("@FakturaSposobZaplaty", "Barter");
|
|---|
| 193 | break;
|
|---|
| 194 | default:
|
|---|
| 195 | command.Parameters.AddWithValue("@FakturaSposobZaplaty", "Karta kredytowa");
|
|---|
| 196 | break;
|
|---|
| 197 | }
|
|---|
| 198 |
|
|---|
| 199 | DataRowView row = (DataRowView)rEKLAMABindingSource.Current;
|
|---|
| 200 |
|
|---|
| 201 | command.Parameters.AddWithValue("@Zaplacono", zAPLACONOCheckBox.Checked);
|
|---|
| 202 | command.Parameters.AddWithValue("@FakturaDataWyst", dATA_WYSTAWIENIADateTimePicker.Value);
|
|---|
| 203 | command.Parameters.AddWithValue("@FakturaDataSprzed", dATA_SPRZEDAZYDateTimePicker.Value);
|
|---|
| 204 | command.Parameters.AddWithValue("@FakturaTerminZaplaty", tERMIN_ZAPLATYDateTimePicker.Value);
|
|---|
| 205 | command.Parameters.AddWithValue("@Konto", iD_KONTAComboBox.SelectedValue);
|
|---|
| 206 | command.Parameters.AddWithValue("@StawkaVat", row["VAT"]);
|
|---|
| 207 |
|
|---|
| 208 | if (zaliczka_BruttoTextBox.Text != "")
|
|---|
| 209 | {
|
|---|
| 210 | command.Parameters.AddWithValue("@Zaliczka_Brutto", row["Zaliczka_Brutto"]);
|
|---|
| 211 | command.Parameters.AddWithValue("@Zaliczka_Data", zaliczka_DataDateTimePicker.Value);
|
|---|
| 212 | }
|
|---|
| 213 |
|
|---|
| 214 | command.Parameters.AddWithValue("@wyroznienie", row["wyroznienie"]);
|
|---|
| 215 |
|
|---|
| 216 | //dodawanie parametrow do faktury w walucie
|
|---|
| 217 | SqlCommand command2 = new SqlCommand();
|
|---|
| 218 | command2.Connection = conn;
|
|---|
| 219 | command2.CommandType = CommandType.Text;
|
|---|
| 220 | command2.CommandText = "select Brutto_Euro, Brutto_Euro_Miano, waluta_kurs, waluta_przelicznik,waluta_kurs_z_dnia,waluta_tabela_nr from "
|
|---|
| 221 | + "reklama where reklamaId= " + reklamaId;
|
|---|
| 222 |
|
|---|
| 223 | conn.Open();
|
|---|
| 224 |
|
|---|
| 225 | SqlDataReader reader = command2.ExecuteReader();
|
|---|
| 226 | while (reader.Read())
|
|---|
| 227 | {
|
|---|
| 228 | command.Parameters.AddWithValue("@waluta_brutto", reader.GetValue(0));
|
|---|
| 229 | command.Parameters.AddWithValue("@waluta_miano", reader.GetValue(1));
|
|---|
| 230 | command.Parameters.AddWithValue("@waluta_kurs", reader.GetValue(2));
|
|---|
| 231 | command.Parameters.AddWithValue("@waluta_przelicznik", reader.GetValue(3));
|
|---|
| 232 | command.Parameters.AddWithValue("@waluta_kurs_z_dnia", reader.GetValue(4));
|
|---|
| 233 | command.Parameters.AddWithValue("@waluta_tabela_nr", reader.GetValue(5));
|
|---|
| 234 | }
|
|---|
| 235 |
|
|---|
| 236 | conn.Close();
|
|---|
| 237 |
|
|---|
| 238 | conn.Open();
|
|---|
| 239 |
|
|---|
| 240 | //wystawanie faktury
|
|---|
| 241 | transaction = conn.BeginTransaction();
|
|---|
| 242 |
|
|---|
| 243 | command.Transaction = transaction;
|
|---|
| 244 |
|
|---|
| 245 | try
|
|---|
| 246 | {
|
|---|
| 247 | command.ExecuteNonQuery();
|
|---|
| 248 | transaction.Commit();
|
|---|
| 249 | ok = true;
|
|---|
| 250 | MessageBox.Show("Fakture dodano!");
|
|---|
| 251 | }
|
|---|
| 252 | catch
|
|---|
| 253 | {
|
|---|
| 254 | transaction.Rollback();
|
|---|
| 255 |
|
|---|
| 256 | throw;
|
|---|
| 257 | }
|
|---|
| 258 |
|
|---|
| 259 | conn.Close();
|
|---|
| 260 |
|
|---|
| 261 |
|
|---|
| 262 | //odswiezanie - musi byæ bo faktura jest dodawana przez procedure
|
|---|
| 263 |
|
|---|
| 264 | if (ok)
|
|---|
| 265 | {
|
|---|
| 266 | rEKLAMADataSet.REKLAMA.Clear();
|
|---|
| 267 | rEKLAMATableAdapter.FillByReklamaId(rEKLAMADataSet.REKLAMA, reklamaId);
|
|---|
| 268 | row = (DataRowView)rEKLAMABindingSource.Current;
|
|---|
| 269 |
|
|---|
| 270 | rEKLAMADataSet.FAKTURY.Clear();
|
|---|
| 271 | int idFaktury = Convert.ToInt32(row["id_faktury"]);
|
|---|
| 272 | fAKTURYTableAdapter.FillByIdFaktury(rEKLAMADataSet.FAKTURY, idFaktury);
|
|---|
| 273 |
|
|---|
| 274 | //wydruk faktury
|
|---|
| 275 | FactureViewer fv = new FactureViewer(idFaktury, true);
|
|---|
| 276 | fv.ShowDialog();
|
|---|
| 277 |
|
|---|
| 278 | Cursor = Cursors.Default;
|
|---|
| 279 |
|
|---|
| 280 | wystawFaktureButton.Enabled = false;
|
|---|
| 281 | wystawProformeButton.Enabled = false;
|
|---|
| 282 | DialogResult = DialogResult.OK;
|
|---|
| 283 | Close();
|
|---|
| 284 | }
|
|---|
| 285 | else
|
|---|
| 286 | {
|
|---|
| 287 | Cursor = Cursors.Default;
|
|---|
| 288 | }
|
|---|
| 289 | }
|
|---|
| 290 |
|
|---|
| 291 |
|
|---|
| 292 | /// <summary>
|
|---|
| 293 | /// Wystawienie proformy polega na wystawieniu faktury i poniejszym usuniêciu jej z bazy...
|
|---|
| 294 | /// </summary>
|
|---|
| 295 | private void wystawProformeButton_Click(object sender, EventArgs e)
|
|---|
| 296 | {
|
|---|
| 297 | bool ok = false;
|
|---|
| 298 |
|
|---|
| 299 | if (iD_KONTAComboBox.SelectedValue == null)
|
|---|
| 300 | {
|
|---|
| 301 | MessageBox.Show("Wybierz konto");
|
|---|
| 302 | return;
|
|---|
| 303 | }
|
|---|
| 304 |
|
|---|
| 305 | SqlConnection conn = new SqlConnection(
|
|---|
| 306 | ConnString.getConnString().Value);
|
|---|
| 307 |
|
|---|
| 308 | SqlTransaction transaction;
|
|---|
| 309 |
|
|---|
| 310 | SqlCommand command = new SqlCommand("Proc_Make_Faktura_Waluty", conn);
|
|---|
| 311 | command.CommandType = CommandType.StoredProcedure;
|
|---|
| 312 |
|
|---|
| 313 | command.Parameters.AddWithValue("@ReklamaID", reklamaId);
|
|---|
| 314 | command.Parameters.AddWithValue("@FakturaNumer", nUMERTextBox.Text);
|
|---|
| 315 | command.Parameters.AddWithValue("@NumerRoz", nUMER_ROZTextBox.Text);
|
|---|
| 316 |
|
|---|
| 317 | switch (sPOSOB_ZAPLATYListBox.SelectedIndex)
|
|---|
| 318 | {
|
|---|
| 319 | case 1:
|
|---|
| 320 | command.Parameters.AddWithValue("@FakturaSposobZaplaty", "Przelew");
|
|---|
| 321 | break;
|
|---|
| 322 | case 2:
|
|---|
| 323 | command.Parameters.AddWithValue("@FakturaSposobZaplaty", "Gotówka");
|
|---|
| 324 | break;
|
|---|
| 325 | case 3:
|
|---|
| 326 | command.Parameters.AddWithValue("@FakturaSposobZaplaty", "Barter");
|
|---|
| 327 | break;
|
|---|
| 328 | default:
|
|---|
| 329 | command.Parameters.AddWithValue("@FakturaSposobZaplaty", "Karta kredytowa");
|
|---|
| 330 | break;
|
|---|
| 331 | }
|
|---|
| 332 |
|
|---|
| 333 | DataRowView r = (DataRowView)rEKLAMABindingSource.Current;
|
|---|
| 334 |
|
|---|
| 335 | command.Parameters.AddWithValue("@Zaplacono", zAPLACONOCheckBox.Checked);
|
|---|
| 336 | command.Parameters.AddWithValue("@FakturaDataWyst", dATA_WYSTAWIENIADateTimePicker.Value);
|
|---|
| 337 | command.Parameters.AddWithValue("@FakturaDataSprzed", dATA_SPRZEDAZYDateTimePicker.Value);
|
|---|
| 338 | command.Parameters.AddWithValue("@FakturaTerminZaplaty", tERMIN_ZAPLATYDateTimePicker.Value);
|
|---|
| 339 | command.Parameters.AddWithValue("@Konto", iD_KONTAComboBox.SelectedValue);
|
|---|
| 340 | command.Parameters.AddWithValue("@StawkaVat", r["VAT"]);
|
|---|
| 341 |
|
|---|
| 342 | if (zaliczka_BruttoTextBox.Text != "")
|
|---|
| 343 | {
|
|---|
| 344 | command.Parameters.AddWithValue("@Zaliczka_Brutto", r["Zaliczka_Brutto"]);
|
|---|
| 345 | command.Parameters.AddWithValue("@Zaliczka_Data", zaliczka_DataDateTimePicker.Value);
|
|---|
| 346 | }
|
|---|
| 347 |
|
|---|
| 348 | command.Parameters.AddWithValue("@wyroznienie", r["wyroznienie"]);
|
|---|
| 349 |
|
|---|
| 350 | SqlCommand command2 = new SqlCommand();
|
|---|
| 351 | command2.Connection = conn;
|
|---|
| 352 | command2.CommandType = CommandType.Text;
|
|---|
| 353 | command2.CommandText = "select Brutto_Euro, Brutto_Euro_Miano, waluta_kurs, waluta_przelicznik,waluta_kurs_z_dnia,waluta_tabela_nr from "
|
|---|
| 354 | + "reklama where reklamaId= " + reklamaId;
|
|---|
| 355 |
|
|---|
| 356 | conn.Open();
|
|---|
| 357 |
|
|---|
| 358 | SqlDataReader reader = command2.ExecuteReader();
|
|---|
| 359 | while (reader.Read())
|
|---|
| 360 | {
|
|---|
| 361 | command.Parameters.AddWithValue("@waluta_brutto", reader.GetValue(0));
|
|---|
| 362 | command.Parameters.AddWithValue("@waluta_miano", reader.GetValue(1));
|
|---|
| 363 | command.Parameters.AddWithValue("@waluta_kurs", reader.GetValue(2));
|
|---|
| 364 | command.Parameters.AddWithValue("@waluta_przelicznik", reader.GetValue(3));
|
|---|
| 365 | command.Parameters.AddWithValue("@waluta_kurs_z_dnia", reader.GetValue(4));
|
|---|
| 366 | command.Parameters.AddWithValue("@waluta_tabela_nr", reader.GetValue(5));
|
|---|
| 367 | }
|
|---|
| 368 |
|
|---|
| 369 | conn.Close();
|
|---|
| 370 |
|
|---|
| 371 | conn.Open();
|
|---|
| 372 |
|
|---|
| 373 | transaction = conn.BeginTransaction();
|
|---|
| 374 |
|
|---|
| 375 | command.Transaction = transaction;
|
|---|
| 376 |
|
|---|
| 377 | try
|
|---|
| 378 | {
|
|---|
| 379 | command.ExecuteNonQuery();
|
|---|
| 380 | transaction.Commit();
|
|---|
| 381 | ok = true;
|
|---|
| 382 | }
|
|---|
| 383 | catch
|
|---|
| 384 | {
|
|---|
| 385 | transaction.Rollback();
|
|---|
| 386 | throw;
|
|---|
| 387 | }
|
|---|
| 388 | finally
|
|---|
| 389 | {
|
|---|
| 390 | conn.Close();
|
|---|
| 391 | }
|
|---|
| 392 |
|
|---|
| 393 | //odswiezanie
|
|---|
| 394 | if (ok)
|
|---|
| 395 | {
|
|---|
| 396 | rEKLAMADataSet.REKLAMA.Clear();
|
|---|
| 397 | rEKLAMATableAdapter.FillByReklamaId(rEKLAMADataSet.REKLAMA, reklamaId);
|
|---|
| 398 | DataRowView row = (DataRowView)rEKLAMABindingSource.Current;
|
|---|
| 399 |
|
|---|
| 400 | int idFaktury = Convert.ToInt32(row["id_faktury"]);
|
|---|
| 401 | fAKTURYTableAdapter.FillByIdFaktury(rEKLAMADataSet.FAKTURY, idFaktury);
|
|---|
| 402 |
|
|---|
| 403 | FactureViewer fv = new FactureViewer(idFaktury, false);
|
|---|
| 404 | fv.ShowDialog();
|
|---|
| 405 |
|
|---|
| 406 | usunFakture(idFaktury);
|
|---|
| 407 |
|
|---|
| 408 | //odswiezenie reklam
|
|---|
| 409 | rEKLAMADataSet.REKLAMA.Clear();
|
|---|
| 410 | rEKLAMATableAdapter.FillByReklamaId(rEKLAMADataSet.REKLAMA, reklamaId);
|
|---|
| 411 | row = (DataRowView)rEKLAMABindingSource.Current;
|
|---|
| 412 |
|
|---|
| 413 | //ustawienie pól formularza na dodanie nowej faktury
|
|---|
| 414 | Title title = _titles.Find(delegate(Title t) { return t.ShortName == row["TYTU£"].ToString(); });
|
|---|
| 415 | IInvoiceProvider invoiceProvider = InvoiceProviderFactory.GetInvoiceProviderById(title.InvoiceProvider);
|
|---|
| 416 |
|
|---|
| 417 | nUMER_ROZTextBox.Text = DbUtils.tagAgenta(row["SYMBOL AKWIZYTORA"].ToString());
|
|---|
| 418 | nUMERTextBox.Text = DbUtils.numerNowejFaktury(nUMER_ROZTextBox.Text, DateTime.Today.Year, invoiceProvider.SystemKsiegowyId).ToString();
|
|---|
| 419 |
|
|---|
| 420 | if (row["FAKTURA DATA SPRZEDA¯Y"] == DBNull.Value)
|
|---|
| 421 | {
|
|---|
| 422 | dATA_SPRZEDAZYDateTimePicker.Value = DateTime.Today;
|
|---|
| 423 | }
|
|---|
| 424 |
|
|---|
| 425 | if (row["FAKTURA DATA WYSTAWIENIA"] == DBNull.Value)
|
|---|
| 426 | {
|
|---|
| 427 | dATA_WYSTAWIENIADateTimePicker.Value = DateTime.Today;
|
|---|
| 428 | }
|
|---|
| 429 |
|
|---|
| 430 | if (row["Zaliczka_Data"] == DBNull.Value)
|
|---|
| 431 | {
|
|---|
| 432 | zaliczka_DataDateTimePicker.Value = DateTime.Today;
|
|---|
| 433 | }
|
|---|
| 434 |
|
|---|
| 435 | if (row["FAKTURA TERMIN ZAP£ATY"] == DBNull.Value)
|
|---|
| 436 | {
|
|---|
| 437 | tERMIN_ZAPLATYDateTimePicker.Value = DateTime.Today.AddDays(7);
|
|---|
| 438 | }
|
|---|
| 439 |
|
|---|
| 440 | //iD_KONTAComboBox.SelectedIndex = 0;
|
|---|
| 441 |
|
|---|
| 442 | sPOSOB_ZAPLATYListBox.SelectedIndex = 1;
|
|---|
| 443 |
|
|---|
| 444 | rEKLAMABindingSource.EndEdit();
|
|---|
| 445 |
|
|---|
| 446 | wystawFaktureButton.Enabled = true;
|
|---|
| 447 | wystawProformeButton.Enabled = true;
|
|---|
| 448 | }
|
|---|
| 449 | }
|
|---|
| 450 |
|
|---|
| 451 | /// <summary>
|
|---|
| 452 | /// Zmiana faktury dla Poznania.
|
|---|
| 453 | /// </summary>
|
|---|
| 454 | private void fakturaPoznan(int idFaktury)
|
|---|
| 455 | {
|
|---|
| 456 |
|
|---|
| 457 | int idSprzedawcy = 6;
|
|---|
| 458 | int idNabywcy = 18845;
|
|---|
| 459 | int idKonta = 43;
|
|---|
| 460 |
|
|---|
| 461 | SqlCommand command = new SqlCommand();
|
|---|
| 462 | command.Connection = new SqlConnection(ConnString.getConnString().Value);
|
|---|
| 463 | command.CommandText = "select Adres_Fkatura from Klienci where CustomerId=18845";
|
|---|
| 464 |
|
|---|
| 465 | command.Connection.Open();
|
|---|
| 466 |
|
|---|
| 467 | string nabywcaAdres = Convert.ToString(command.ExecuteScalar());
|
|---|
| 468 |
|
|---|
| 469 | command.CommandText = "select Nip from KLIENCI where CustomerId=18845";
|
|---|
| 470 |
|
|---|
| 471 | string nabywcaNIP = Convert.ToString(command.ExecuteScalar());
|
|---|
| 472 |
|
|---|
| 473 | command.CommandText = "select Adres_Fk from AGENCJE where Id_agencji = 2";
|
|---|
| 474 |
|
|---|
| 475 | string sprzedawcaAdres = Convert.ToString(command.ExecuteScalar());
|
|---|
| 476 |
|
|---|
| 477 | command.CommandText = "select NIP from AGENCJE where Id_agencji = 2";
|
|---|
| 478 |
|
|---|
| 479 | string sprzedawcaNIP = Convert.ToString(command.ExecuteScalar());
|
|---|
| 480 |
|
|---|
| 481 | command.Connection.Close();
|
|---|
| 482 |
|
|---|
| 483 | command.CommandText = "update faktury set ID_SPRZEDAWCY=@idSprzedawcy, ID_NABYWCY=@idNabywcy," +
|
|---|
| 484 | "NABYWCA_ADRES=@nadres,SPRZEDAWCA_ADRES=@sadres,NABYWCA_NIP=@nnip,SPRZEDAWCA_NIP=@snip," +
|
|---|
| 485 | "ID_KONTA=@idKonta where ID_FAKTURY=@idFaktury";
|
|---|
| 486 |
|
|---|
| 487 | command.Parameters.AddWithValue("@idSprzedawcy", idSprzedawcy);
|
|---|
| 488 | command.Parameters.AddWithValue("@idNabywcy", idNabywcy);
|
|---|
| 489 | command.Parameters.AddWithValue("@nadres", nabywcaAdres);
|
|---|
| 490 | command.Parameters.AddWithValue("@sadres", sprzedawcaAdres);
|
|---|
| 491 | command.Parameters.AddWithValue("@nnip", nabywcaNIP);
|
|---|
| 492 | command.Parameters.AddWithValue("@snip", sprzedawcaNIP);
|
|---|
| 493 | command.Parameters.AddWithValue("@idKonta", idKonta);
|
|---|
| 494 | command.Parameters.AddWithValue("@idFaktury", idFaktury);
|
|---|
| 495 |
|
|---|
| 496 | try
|
|---|
| 497 | {
|
|---|
| 498 | command.Connection.Open();
|
|---|
| 499 | command.ExecuteNonQuery();
|
|---|
| 500 | }
|
|---|
| 501 | finally
|
|---|
| 502 | {
|
|---|
| 503 | command.Connection.Close();
|
|---|
| 504 | }
|
|---|
| 505 | }
|
|---|
| 506 |
|
|---|
| 507 | /// <summary>
|
|---|
| 508 | /// Zmiana faktury dla Katowic.
|
|---|
| 509 | /// </summary>
|
|---|
| 510 | private void fakturaKatowice(int idFaktury)
|
|---|
| 511 | {
|
|---|
| 512 | int idSprzedawcy = 4;
|
|---|
| 513 | int idNabywcy = 678;
|
|---|
| 514 | int idKonta = 43;
|
|---|
| 515 |
|
|---|
| 516 | SqlCommand command = new SqlCommand();
|
|---|
| 517 | command.Connection = new SqlConnection(ConnString.getConnString().Value);
|
|---|
| 518 | command.CommandText = "select Adres_Fkatura from Klienci where CustomerId=678";
|
|---|
| 519 |
|
|---|
| 520 | command.Connection.Open();
|
|---|
| 521 |
|
|---|
| 522 | string nabywcaAdres = Convert.ToString(command.ExecuteScalar());
|
|---|
| 523 |
|
|---|
| 524 | command.CommandText = "select Nip from KLIENCI where CustomerId=678";
|
|---|
| 525 |
|
|---|
| 526 | string nabywcaNIP = Convert.ToString(command.ExecuteScalar());
|
|---|
| 527 |
|
|---|
| 528 | command.CommandText = "select Adres_Fk from AGENCJE where Id_agencji = 2";
|
|---|
| 529 |
|
|---|
| 530 | string sprzedawcaAdres = Convert.ToString(command.ExecuteScalar());
|
|---|
| 531 |
|
|---|
| 532 | command.CommandText = "select NIP from AGENCJE where Id_agencji = 2";
|
|---|
| 533 |
|
|---|
| 534 | string sprzedawcaNIP = Convert.ToString(command.ExecuteScalar());
|
|---|
| 535 |
|
|---|
| 536 | command.Connection.Close();
|
|---|
| 537 |
|
|---|
| 538 | command.CommandText = "update faktury set ID_SPRZEDAWCY=@idSprzedawcy, ID_NABYWCY=@idNabywcy," +
|
|---|
| 539 | "NABYWCA_ADRES=@nadres,SPRZEDAWCA_ADRES=@sadres,NABYWCA_NIP=@nnip,SPRZEDAWCA_NIP=@snip," +
|
|---|
| 540 | "ID_KONTA=@idKonta where ID_FAKTURY=@idFaktury";
|
|---|
| 541 |
|
|---|
| 542 | command.Parameters.AddWithValue("@idSprzedawcy", idSprzedawcy);
|
|---|
| 543 | command.Parameters.AddWithValue("@idNabywcy", idNabywcy);
|
|---|
| 544 | command.Parameters.AddWithValue("@nadres", nabywcaAdres);
|
|---|
| 545 | command.Parameters.AddWithValue("@sadres", sprzedawcaAdres);
|
|---|
| 546 | command.Parameters.AddWithValue("@nnip", nabywcaNIP);
|
|---|
| 547 | command.Parameters.AddWithValue("@snip", sprzedawcaNIP);
|
|---|
| 548 | command.Parameters.AddWithValue("@idKonta", idKonta);
|
|---|
| 549 | command.Parameters.AddWithValue("@idFaktury", idFaktury);
|
|---|
| 550 |
|
|---|
| 551 | try
|
|---|
| 552 | {
|
|---|
| 553 | command.Connection.Open();
|
|---|
| 554 | command.ExecuteNonQuery();
|
|---|
| 555 | }
|
|---|
| 556 | finally
|
|---|
| 557 | {
|
|---|
| 558 | command.Connection.Close();
|
|---|
| 559 | }
|
|---|
| 560 |
|
|---|
| 561 |
|
|---|
| 562 | }
|
|---|
| 563 |
|
|---|
| 564 | private void zamknijButton_Click(object sender, EventArgs e)
|
|---|
| 565 | {
|
|---|
| 566 | fAKTURYBindingSource.CancelEdit();
|
|---|
| 567 | DialogResult = DialogResult.Cancel;
|
|---|
| 568 | Close();
|
|---|
| 569 | }
|
|---|
| 570 |
|
|---|
| 571 | private void usunButton_Click(object sender, EventArgs e)
|
|---|
| 572 | {
|
|---|
| 573 | if (rEKLAMABindingSource.Current != null)
|
|---|
| 574 | {
|
|---|
| 575 | bool ok = MessageBox.Show("Czyna pewno chcesz usun¹æ fakturê?", "", MessageBoxButtons.YesNo) == DialogResult.Yes ? true : false;
|
|---|
| 576 |
|
|---|
| 577 | if (ok)
|
|---|
| 578 | {
|
|---|
| 579 | DataRowView row = (DataRowView)rEKLAMABindingSource.Current;
|
|---|
| 580 | int idFaktury = Convert.ToInt32(row["id_faktury"]);
|
|---|
| 581 |
|
|---|
| 582 | usunFakture(idFaktury);
|
|---|
| 583 |
|
|---|
| 584 | rEKLAMADataSet.REKLAMA.Clear();
|
|---|
| 585 | rEKLAMATableAdapter.FillByReklamaId(rEKLAMADataSet.REKLAMA, reklamaId);
|
|---|
| 586 | wystawFaktureButton.Enabled = true;
|
|---|
| 587 | wystawProformeButton.Enabled = true;
|
|---|
| 588 | // usunButton.Enabled = false;
|
|---|
| 589 | }
|
|---|
| 590 | }
|
|---|
| 591 | }
|
|---|
| 592 |
|
|---|
| 593 | /// <summary>
|
|---|
| 594 | /// Usuwa fakture z tabel: FAKTURA, FAKTURA_DETAILS, REKLAMA (czêsciowo)
|
|---|
| 595 | /// </summary>
|
|---|
| 596 | /// <param name="idFaktury"></param>
|
|---|
| 597 | private void usunFakture(int idFaktury)
|
|---|
| 598 | {
|
|---|
| 599 |
|
|---|
| 600 | SqlConnection conn = new SqlConnection(
|
|---|
| 601 | ConnString.getConnString().Value);
|
|---|
| 602 |
|
|---|
| 603 | //usuwanie faktury
|
|---|
| 604 | SqlCommand command3 = new SqlCommand();
|
|---|
| 605 | command3.CommandText = "delete from faktury where id_faktury = @param ";
|
|---|
| 606 | command3.CommandType = CommandType.Text;
|
|---|
| 607 | command3.Parameters.AddWithValue("@param", idFaktury);
|
|---|
| 608 |
|
|---|
| 609 | command3.Connection = conn;
|
|---|
| 610 |
|
|---|
| 611 | conn.Open();
|
|---|
| 612 |
|
|---|
| 613 | command3.ExecuteNonQuery();
|
|---|
| 614 |
|
|---|
| 615 | conn.Close();
|
|---|
| 616 |
|
|---|
| 617 | //usuwanie pozycji faktury
|
|---|
| 618 | command3 = new SqlCommand();
|
|---|
| 619 | command3.CommandText = "delete from faktura_details where id_faktury = @param ";
|
|---|
| 620 | command3.CommandType = CommandType.Text;
|
|---|
| 621 | command3.Parameters.AddWithValue("@param", idFaktury);
|
|---|
| 622 |
|
|---|
| 623 | command3.Connection = conn;
|
|---|
| 624 |
|
|---|
| 625 | conn.Open();
|
|---|
| 626 |
|
|---|
| 627 | command3.ExecuteNonQuery();
|
|---|
| 628 |
|
|---|
| 629 | conn.Close();
|
|---|
| 630 |
|
|---|
| 631 | //usuniecie informacji o fakturze z tabeli REKLAMA
|
|---|
| 632 | command3.CommandText = "update REKLAMA set ID_FAKTURY = null where ID_FAKTURY = @param ";
|
|---|
| 633 |
|
|---|
| 634 | conn.Open();
|
|---|
| 635 |
|
|---|
| 636 | command3.ExecuteNonQuery();
|
|---|
| 637 |
|
|---|
| 638 | conn.Close();
|
|---|
| 639 | }
|
|---|
| 640 |
|
|---|
| 641 | private void poznanKatowiceButton_Click(object sender, EventArgs e)
|
|---|
| 642 | {
|
|---|
| 643 | DataRowView row = (DataRowView)rEKLAMABindingSource.Current;
|
|---|
| 644 |
|
|---|
| 645 | // zmiana faktury dla Poznania i Katowic
|
|---|
| 646 | if (row["customerId_Sub"] != DBNull.Value)
|
|---|
| 647 | {
|
|---|
| 648 | if (row["id_faktury"] == DBNull.Value)
|
|---|
| 649 | {
|
|---|
| 650 | MessageBox.Show("Faktura nie zosta³a wystawiona");
|
|---|
| 651 | return;
|
|---|
| 652 | }
|
|---|
| 653 |
|
|---|
| 654 | int idFaktury = Convert.ToInt32(row["id_faktury"]);
|
|---|
| 655 |
|
|---|
| 656 | switch (Convert.ToInt32(row["customerId_Sub"]))
|
|---|
| 657 | {
|
|---|
| 658 | case 678:
|
|---|
| 659 | fakturaKatowice(idFaktury);
|
|---|
| 660 | MessageBox.Show("Faktura zosta³a zmieniona");
|
|---|
| 661 | break;
|
|---|
| 662 | case 18845:
|
|---|
| 663 | fakturaPoznan(idFaktury);
|
|---|
| 664 | MessageBox.Show("Faktura zosta³a zmieniona");
|
|---|
| 665 | break;
|
|---|
| 666 | }
|
|---|
| 667 | }
|
|---|
| 668 | }
|
|---|
| 669 |
|
|---|
| 670 | private void Facturer_Shown(object sender, EventArgs e)
|
|---|
| 671 | {
|
|---|
| 672 | if (!User.Instance().IsKierownik)
|
|---|
| 673 | {
|
|---|
| 674 | foreach (Control c in Controls)
|
|---|
| 675 | {
|
|---|
| 676 | c.Enabled = false;
|
|---|
| 677 | }
|
|---|
| 678 | }
|
|---|
| 679 | }
|
|---|
| 680 |
|
|---|
| 681 | private void korektaButton_Click(object sender, EventArgs e)
|
|---|
| 682 | {
|
|---|
| 683 | Cursor = Cursors.WaitCursor;
|
|---|
| 684 |
|
|---|
| 685 | REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)
|
|---|
| 686 | ((DataRowView)rEKLAMABindingSource.Current).Row;
|
|---|
| 687 |
|
|---|
| 688 | fAKTURYTableAdapter.FillByIdFaktury(rEKLAMADataSet.FAKTURY,reklama.ID_FAKTURY);
|
|---|
| 689 |
|
|---|
| 690 | REKLAMADataSet.FAKTURYRow faktura = rEKLAMADataSet.FAKTURY[0];
|
|---|
| 691 |
|
|---|
| 692 | //sprawdzenie czy korekta nie byla juz wystawiona
|
|---|
| 693 | if (!faktura.IsID_FK_KORNull())
|
|---|
| 694 | {
|
|---|
| 695 | MessageBox.Show("Istnieje ju¿ faktura korekta");
|
|---|
| 696 | // return;
|
|---|
| 697 | }
|
|---|
| 698 |
|
|---|
| 699 | SqlConnection conn = null;
|
|---|
| 700 |
|
|---|
| 701 | try
|
|---|
| 702 | {
|
|---|
| 703 | REKLAMADataSet.FAKTURYRow naglowekKorekty = utworzNaglowekKorekty(faktura);
|
|---|
| 704 | pobierzEmisjeDoKorekty(faktura, reklama.ReklamaID);
|
|---|
| 705 | utworzPozycjeFakturyKorekty(naglowekKorekty);
|
|---|
| 706 |
|
|---|
| 707 | if (!faktura.IsID_FK_KORNull())
|
|---|
| 708 | {
|
|---|
| 709 | naglowekKorekty.idFakturyKorekta = faktura.ID_FK_KOR;
|
|---|
| 710 | }
|
|---|
| 711 |
|
|---|
| 712 | conn = new SqlConnection(ConnString.getConnString().Value);
|
|---|
| 713 |
|
|---|
| 714 | fAKTURYTableAdapter.Connection = conn;
|
|---|
| 715 | emisjeTableAdapter.Connection = conn;
|
|---|
| 716 | fakturA_DETAILSTableAdapter.Connection = conn;
|
|---|
| 717 | rEKLAMATableAdapter.Connection = conn;
|
|---|
| 718 |
|
|---|
| 719 | conn.Open();
|
|---|
| 720 |
|
|---|
| 721 | SqlTransaction transaction = conn.BeginTransaction();
|
|---|
| 722 | fAKTURYTableAdapter.AttachTransaction(transaction);
|
|---|
| 723 | emisjeTableAdapter.AttachTransaction(transaction);
|
|---|
| 724 | fakturA_DETAILSTableAdapter.AttachTransaction(transaction);
|
|---|
| 725 | rEKLAMATableAdapter.AttachTransaction(transaction);
|
|---|
| 726 |
|
|---|
| 727 | try
|
|---|
| 728 | {
|
|---|
| 729 | fAKTURYTableAdapter.Update(rEKLAMADataSet.FAKTURY);
|
|---|
| 730 |
|
|---|
| 731 | faktura.ID_FK_KOR = naglowekKorekty.ID_FAKTURY;
|
|---|
| 732 | faktura.EndEdit();
|
|---|
| 733 |
|
|---|
| 734 | fAKTURYTableAdapter.Update(rEKLAMADataSet.FAKTURY);
|
|---|
| 735 |
|
|---|
| 736 | emisjeTableAdapter.Update(rEKLAMADataSet.UKAZE_SIE_W_NR);
|
|---|
| 737 | fakturA_DETAILSTableAdapter.Update(rEKLAMADataSet.FAKTURA_DETAILS);
|
|---|
| 738 |
|
|---|
| 739 | transaction.Commit();
|
|---|
| 740 | }
|
|---|
| 741 | catch
|
|---|
| 742 | {
|
|---|
| 743 | transaction.Rollback();
|
|---|
| 744 |
|
|---|
| 745 | throw;
|
|---|
| 746 | }
|
|---|
| 747 | }
|
|---|
| 748 | finally
|
|---|
| 749 | {
|
|---|
| 750 | if(conn!=null && conn.State == ConnectionState.Open)
|
|---|
| 751 | {
|
|---|
| 752 | conn.Close();
|
|---|
| 753 | conn.Dispose();
|
|---|
| 754 | }
|
|---|
| 755 |
|
|---|
| 756 | rEKLAMADataSet.UKAZE_SIE_W_NR.Clear();
|
|---|
| 757 | rEKLAMADataSet.DatyWydan.Clear();
|
|---|
| 758 | rEKLAMADataSet.FAKTURA_DETAILS.Clear();
|
|---|
| 759 | fAKTURYBindingSource.ResetBindings(false);
|
|---|
| 760 | }
|
|---|
| 761 |
|
|---|
| 762 | RestoreConnections();
|
|---|
| 763 |
|
|---|
| 764 | Cursor = Cursors.Default;
|
|---|
| 765 |
|
|---|
| 766 | }
|
|---|
| 767 |
|
|---|
| 768 | private REKLAMADataSet.FAKTURYRow utworzNaglowekKorekty(REKLAMADataSet.FAKTURYRow faktura)
|
|---|
| 769 | {
|
|---|
| 770 | REKLAMADataSet.FAKTURYRow naglowekKorekty = rEKLAMADataSet.FAKTURY.NewFAKTURYRow();
|
|---|
| 771 | naglowekKorekty.KOREKTA = true;
|
|---|
| 772 | // naglowekKorekty.EKSPORT = true;
|
|---|
| 773 |
|
|---|
| 774 | //naglowekKorekty.idZamowienia = faktura.idZamowienia;
|
|---|
| 775 | naglowekKorekty.idFakturyKorekta = faktura.ID_FAKTURY;
|
|---|
| 776 | naglowekKorekty.idFakturyVAT = faktura.ID_FAKTURY;
|
|---|
| 777 |
|
|---|
| 778 | naglowekKorekty.NUMER_ROZ = faktura.NUMER_ROZ;
|
|---|
| 779 | naglowekKorekty.NUMER = FakturaHelper.GetNewCorrectionInvoiceNumber(DateTime.Today.Year, faktura.SystemKsiegowyId);
|
|---|
| 780 | naglowekKorekty.NUMER_ROK = DateTime.Today.Year;
|
|---|
| 781 | naglowekKorekty.DATA_WYSTAWIENIA = DateTime.Today;
|
|---|
| 782 |
|
|---|
| 783 | naglowekKorekty.ID_SPRZEDAWCY = faktura.ID_SPRZEDAWCY;
|
|---|
| 784 |
|
|---|
| 785 | if (naglowekKorekty.ID_SPRZEDAWCY == 4 || naglowekKorekty.ID_SPRZEDAWCY == 6 ||
|
|---|
| 786 | naglowekKorekty.ID_SPRZEDAWCY == 1223940400)
|
|---|
| 787 | {
|
|---|
| 788 | naglowekKorekty.EKSPORT = true;
|
|---|
| 789 | }
|
|---|
| 790 |
|
|---|
| 791 | naglowekKorekty.MIEJSCOWOSC_WYSTAWIENIA = faktura.MIEJSCOWOSC_WYSTAWIENIA;
|
|---|
| 792 | naglowekKorekty.SPRZEDAWCA_ADRES = faktura.SPRZEDAWCA_ADRES;
|
|---|
| 793 | naglowekKorekty.SPRZEDAWCA_NIP = faktura.SPRZEDAWCA_NIP;
|
|---|
| 794 |
|
|---|
| 795 | naglowekKorekty.PODPIS_WYSTAWIL = faktura.PODPIS_WYSTAWIL;
|
|---|
| 796 | naglowekKorekty.DATA_SPRZEDAZY = DateTime.Today;
|
|---|
| 797 |
|
|---|
| 798 | naglowekKorekty.ID_NABYWCY = faktura.ID_NABYWCY;
|
|---|
| 799 | naglowekKorekty.NABYWCA_ADRES = faktura.NABYWCA_ADRES;
|
|---|
| 800 | naglowekKorekty.NABYWCA_NIP = faktura.NABYWCA_NIP;
|
|---|
| 801 | naglowekKorekty.TERMIN_ZAPLATY = DateTime.Today.AddDays(7);
|
|---|
| 802 | naglowekKorekty.opis = "rezygnacja z emisji reklamy";
|
|---|
| 803 |
|
|---|
| 804 | naglowekKorekty.SPOSOB_ZAPLATY = faktura.SPOSOB_ZAPLATY;
|
|---|
| 805 |
|
|---|
| 806 | naglowekKorekty.TERMIN_ZAPLATY = faktura.TERMIN_ZAPLATY;
|
|---|
| 807 | naglowekKorekty.ZAPLACONO = false;
|
|---|
| 808 |
|
|---|
| 809 | naglowekKorekty.FAKTURA_TYP = 2;
|
|---|
| 810 | naglowekKorekty.FAKTURA_PODTYP = 1;
|
|---|
| 811 |
|
|---|
| 812 | naglowekKorekty.ID_KONTA = faktura.ID_KONTA;
|
|---|
| 813 |
|
|---|
| 814 | if (!faktura.Iswaluta_mianoNull())
|
|---|
| 815 | {
|
|---|
| 816 | naglowekKorekty.SPRZEDAWCA_NIP = faktura.SPRZEDAWCA_NIP;
|
|---|
| 817 | naglowekKorekty.NABYWCA_NIP = faktura.NABYWCA_NIP;
|
|---|
| 818 | naglowekKorekty.waluta_miano = faktura.waluta_miano;
|
|---|
| 819 |
|
|---|
| 820 | naglowekKorekty.waluta_kurs = faktura.waluta_kurs;
|
|---|
| 821 | naglowekKorekty.waluta_kurs_z_dnia = faktura.waluta_kurs_z_dnia;
|
|---|
| 822 | naglowekKorekty.waluta_przelicznik = faktura.waluta_przelicznik;
|
|---|
| 823 | naglowekKorekty.waluta_tabela_nr = faktura.waluta_tabela_nr;
|
|---|
| 824 | }
|
|---|
| 825 |
|
|---|
| 826 | rEKLAMADataSet.FAKTURY.AddFAKTURYRow(naglowekKorekty);
|
|---|
| 827 |
|
|---|
| 828 | return naglowekKorekty;
|
|---|
| 829 | }
|
|---|
| 830 |
|
|---|
| 831 |
|
|---|
| 832 | private void pobierzEmisjeDoKorekty(REKLAMADataSet.FAKTURYRow naglowekFaktury, int reklamaID)
|
|---|
| 833 | {
|
|---|
| 834 | emisjeTableAdapter.ClearBeforeFill = false;
|
|---|
| 835 | datyWydanTableAdapter.ClearBeforeFill = false;
|
|---|
| 836 |
|
|---|
| 837 | emisjeTableAdapter.FillByReklamaId(rEKLAMADataSet.UKAZE_SIE_W_NR, reklamaID);
|
|---|
| 838 | datyWydanTableAdapter.FillByReklamaId(rEKLAMADataSet.DatyWydan, reklamaID);
|
|---|
| 839 | }
|
|---|
| 840 |
|
|---|
| 841 | private void utworzPozycjeFakturyKorekty(REKLAMADataSet.FAKTURYRow naglowekFaktury)
|
|---|
| 842 | {
|
|---|
| 843 | decimal brutto_waluta = 0;
|
|---|
| 844 |
|
|---|
| 845 | foreach (REKLAMADataSet.UKAZE_SIE_W_NRRow em in rEKLAMADataSet.UKAZE_SIE_W_NR)
|
|---|
| 846 | {
|
|---|
| 847 | if (em.status != 2)
|
|---|
| 848 | {
|
|---|
| 849 | REKLAMADataSet.FAKTURA_DETAILSRow fakturaDetailsRow = rEKLAMADataSet.FAKTURA_DETAILS.NewFAKTURA_DETAILSRow();
|
|---|
| 850 |
|
|---|
| 851 | REKLAMADataSet.DatyWydanRow[] dataWydanTable =
|
|---|
| 852 | (REKLAMADataSet.DatyWydanRow[])em.GetChildRows("UKAZE_SIE_W_NR_DatyWydan");
|
|---|
| 853 | REKLAMADataSet.DatyWydanRow dataWydania = dataWydanTable[0];
|
|---|
| 854 |
|
|---|
| 855 | REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)em.GetParentRow("REKLAMA_UKAZE_SIE_W_NR");
|
|---|
| 856 |
|
|---|
| 857 | fakturaDetailsRow.ROK = Convert.ToInt16(dataWydania.rok);
|
|---|
| 858 | fakturaDetailsRow.MIESIAC = Convert.ToInt16(dataWydania.ms);
|
|---|
| 859 | fakturaDetailsRow.TYTUL = Convert.ToInt16(dataWydania.idTytulu);
|
|---|
| 860 | fakturaDetailsRow.NAZWA_USLUGI = reklama.ID_REKLAMY + " | " + em.Nr_Wydania;
|
|---|
| 861 | fakturaDetailsRow.reklamaId = reklama.ReklamaID;
|
|---|
| 862 | fakturaDetailsRow.NR_WYDANIA = em.Nr_Wydania;
|
|---|
| 863 |
|
|---|
| 864 | fakturaDetailsRow.CENA_JEDN = Convert.ToDecimal(reklama.CENA_JEDN);
|
|---|
| 865 | fakturaDetailsRow.ILOSC = 1;
|
|---|
| 866 | fakturaDetailsRow.JM = "szt.";
|
|---|
| 867 |
|
|---|
| 868 | if (naglowekFaktury.Iswaluta_mianoNull())
|
|---|
| 869 | {
|
|---|
| 870 | fakturaDetailsRow.UPUST_NETTO = Convert.ToDecimal(reklama.RABAT) * fakturaDetailsRow.CENA_JEDN;
|
|---|
| 871 | fakturaDetailsRow.UPUST_PR = reklama.RABAT;
|
|---|
| 872 | decimal netto = (1 - Convert.ToDecimal(reklama.RABAT)) * fakturaDetailsRow.CENA_JEDN;
|
|---|
| 873 | fakturaDetailsRow.NETTO = netto;
|
|---|
| 874 | fakturaDetailsRow.S_VAT = reklama.VAT;
|
|---|
| 875 | decimal VAT = Convert.ToDecimal(reklama.VAT);
|
|---|
| 876 | fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * netto, 2));
|
|---|
| 877 | fakturaDetailsRow.BRUTTO = Convert.ToDecimal(Math.Round((1 + VAT) * netto, 2));
|
|---|
| 878 | }
|
|---|
| 879 | else
|
|---|
| 880 | {
|
|---|
| 881 | //int krotnosc = this.rEKLAMADataSet.UKAZE_SIE_W_NR.PoliczAktywne(reklama.ReklamaID);
|
|---|
| 882 |
|
|---|
| 883 | fakturaDetailsRow.BRUTTO = Convert.ToDecimal((reklama.Brutto_Euro / reklama.KROTNOÆ) * naglowekFaktury.waluta_kurs);
|
|---|
| 884 | brutto_waluta += Convert.ToDecimal(reklama.Brutto_Euro / reklama.KROTNOÆ);
|
|---|
| 885 | fakturaDetailsRow.S_VAT = reklama.VAT;
|
|---|
| 886 | decimal VAT = Convert.ToDecimal(reklama.VAT);
|
|---|
| 887 | decimal brutto = fakturaDetailsRow.BRUTTO;
|
|---|
| 888 | fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * brutto / (1 + VAT), 2));
|
|---|
| 889 | decimal netto = brutto - fakturaDetailsRow.VAT;
|
|---|
| 890 | fakturaDetailsRow.NETTO = netto;
|
|---|
| 891 | fakturaDetailsRow.UPUST_PR = reklama.RABAT;
|
|---|
| 892 | if (fakturaDetailsRow.UPUST_PR != 0)
|
|---|
| 893 | {
|
|---|
| 894 | fakturaDetailsRow.UPUST_NETTO = netto / Convert.ToDecimal(reklama.RABAT) - netto;
|
|---|
| 895 | }
|
|---|
| 896 | else
|
|---|
| 897 | {
|
|---|
| 898 | fakturaDetailsRow.UPUST_NETTO = 0;
|
|---|
| 899 | }
|
|---|
| 900 |
|
|---|
| 901 | fakturaDetailsRow.CENA_JEDN = Convert.ToDecimal(netto + fakturaDetailsRow.UPUST_NETTO);
|
|---|
| 902 | }
|
|---|
| 903 |
|
|---|
| 904 | fakturaDetailsRow.TYP = 2;
|
|---|
| 905 | fakturaDetailsRow.PODTYP = 1;
|
|---|
| 906 | fakturaDetailsRow.ID_FAKTURY = naglowekFaktury.ID_FAKTURY;
|
|---|
| 907 |
|
|---|
| 908 | if (reklama.wyroznienie)
|
|---|
| 909 | {
|
|---|
| 910 | fakturaDetailsRow.wyroznienie = true;
|
|---|
| 911 | }
|
|---|
| 912 |
|
|---|
| 913 | rEKLAMADataSet.FAKTURA_DETAILS.AddFAKTURA_DETAILSRow(fakturaDetailsRow);
|
|---|
| 914 | }
|
|---|
| 915 | }
|
|---|
| 916 |
|
|---|
| 917 | if (brutto_waluta != 0)
|
|---|
| 918 | {
|
|---|
| 919 | naglowekFaktury.waluta_brutto = Math.Round(Convert.ToDouble(brutto_waluta), 2);
|
|---|
| 920 | naglowekFaktury.EndEdit();
|
|---|
| 921 | }
|
|---|
| 922 | }
|
|---|
| 923 |
|
|---|
| 924 | private void wydrukKorektyButton_Click(object sender, EventArgs e)
|
|---|
| 925 | {
|
|---|
| 926 | Cursor = Cursors.WaitCursor;
|
|---|
| 927 |
|
|---|
| 928 | REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)
|
|---|
| 929 | ((DataRowView)rEKLAMABindingSource.Current).Row;
|
|---|
| 930 |
|
|---|
| 931 | REKLAMADataSet.FAKTURYDataTable table =
|
|---|
| 932 | fAKTURYTableAdapter.GetDataByFaktury(reklama.ID_FAKTURY);
|
|---|
| 933 |
|
|---|
| 934 | if (table.Rows.Count < 1)
|
|---|
| 935 | {
|
|---|
| 936 | return;
|
|---|
| 937 | }
|
|---|
| 938 | REKLAMADataSet.FAKTURYRow faktura = table[0];
|
|---|
| 939 |
|
|---|
| 940 | if (!faktura.IsID_FK_KORNull())
|
|---|
| 941 | {
|
|---|
| 942 | REKLAMADataSet.FAKTURYDataTable korekta =
|
|---|
| 943 | fAKTURYTableAdapter.GetDataByFaktury(faktura.ID_FK_KOR);
|
|---|
| 944 |
|
|---|
| 945 | if (korekta.Rows.Count > 0)
|
|---|
| 946 | {
|
|---|
| 947 | if (!korekta[0].IsidFakturyKorektaNull())
|
|---|
| 948 | {
|
|---|
| 949 | FactureViewer fv = new FactureViewer(korekta[0].ID_FAKTURY, korekta[0].idFakturyVAT, korekta[0].idFakturyKorekta);
|
|---|
| 950 | fv.ShowDialog();
|
|---|
| 951 | }
|
|---|
| 952 | }
|
|---|
| 953 | }
|
|---|
| 954 |
|
|---|
| 955 | Cursor = Cursors.Default;
|
|---|
| 956 | }
|
|---|
| 957 | private void RestoreConnections()
|
|---|
| 958 | {
|
|---|
| 959 | fAKTURYTableAdapter.Connection = new SqlConnection(ConnString.getConnString().Value);
|
|---|
| 960 | emisjeTableAdapter.Connection = new SqlConnection(ConnString.getConnString().Value);
|
|---|
| 961 | fakturA_DETAILSTableAdapter.Connection = new SqlConnection(ConnString.getConnString().Value);
|
|---|
| 962 | rEKLAMATableAdapter.Connection = new SqlConnection(ConnString.getConnString().Value);
|
|---|
| 963 | }
|
|---|
| 964 |
|
|---|
| 965 | private void button2_Click(object sender, EventArgs e)
|
|---|
| 966 | {
|
|---|
| 967 | Cursor = Cursors.WaitCursor;
|
|---|
| 968 |
|
|---|
| 969 | REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)
|
|---|
| 970 | ((DataRowView)rEKLAMABindingSource.Current).Row;
|
|---|
| 971 |
|
|---|
| 972 | REKLAMADataSet.FAKTURYDataTable table =
|
|---|
| 973 | fAKTURYTableAdapter.GetDataByFaktury(reklama.ID_FAKTURY);
|
|---|
| 974 |
|
|---|
| 975 | if (table.Rows.Count < 1)
|
|---|
| 976 | {
|
|---|
| 977 | return;
|
|---|
| 978 | }
|
|---|
| 979 | REKLAMADataSet.FAKTURYRow faktura = table[0];
|
|---|
| 980 |
|
|---|
| 981 | emisjeTableAdapter.UpdateQueryIdFaktury(faktura.ID_FAKTURY, reklama.ReklamaID);
|
|---|
| 982 |
|
|---|
| 983 | Cursor = Cursors.Default;
|
|---|
| 984 | }
|
|---|
| 985 |
|
|---|
| 986 | private void usunKorekteButton_Click(object sender, EventArgs e)
|
|---|
| 987 | {
|
|---|
| 988 | Cursor = Cursors.WaitCursor;
|
|---|
| 989 |
|
|---|
| 990 | REKLAMADataSet.REKLAMARow reklama = (REKLAMADataSet.REKLAMARow)
|
|---|
| 991 | ((DataRowView)rEKLAMABindingSource.Current).Row;
|
|---|
| 992 |
|
|---|
| 993 | REKLAMADataSet.FAKTURYDataTable table =
|
|---|
| 994 | fAKTURYTableAdapter.GetDataByFaktury(reklama.ID_FAKTURY);
|
|---|
| 995 |
|
|---|
| 996 | if (table.Rows.Count < 1)
|
|---|
| 997 | {
|
|---|
| 998 | return;
|
|---|
| 999 | }
|
|---|
| 1000 | REKLAMADataSet.FAKTURYRow faktura = table[0];
|
|---|
| 1001 |
|
|---|
| 1002 | if (!faktura.IsID_FK_KORNull())
|
|---|
| 1003 | {
|
|---|
| 1004 | REKLAMADataSet.FAKTURYDataTable korekta =
|
|---|
| 1005 | fAKTURYTableAdapter.GetDataByFaktury(faktura.ID_FK_KOR);
|
|---|
| 1006 |
|
|---|
| 1007 | if (korekta.Rows.Count > 0)
|
|---|
| 1008 | {
|
|---|
| 1009 | usunKorekte(faktura, korekta[0]);
|
|---|
| 1010 | }
|
|---|
| 1011 | }
|
|---|
| 1012 |
|
|---|
| 1013 | Cursor = Cursors.Default;
|
|---|
| 1014 | }
|
|---|
| 1015 |
|
|---|
| 1016 |
|
|---|
| 1017 | private void usunKorekte(REKLAMADataSet.FAKTURYRow faktura, REKLAMADataSet.FAKTURYRow korekta)
|
|---|
| 1018 | {
|
|---|
| 1019 | int idKorekty = korekta.ID_FAKTURY;
|
|---|
| 1020 | int idKorygowanejFaktury = korekta.idFakturyKorekta;
|
|---|
| 1021 | //int idZam = korekta.idZamowienia;
|
|---|
| 1022 |
|
|---|
| 1023 | REKLAMADataSet.FAKTURYRow korygowanaFaktura = faktura;
|
|---|
| 1024 |
|
|---|
| 1025 | REKLAMADataSet.FAKTURYDataTable poprzedniaKorekta =
|
|---|
| 1026 | fAKTURYTableAdapter.GetDataByFaktury(idKorygowanejFaktury);
|
|---|
| 1027 |
|
|---|
| 1028 | if (poprzedniaKorekta.Rows.Count > 0)
|
|---|
| 1029 | {
|
|---|
| 1030 | korygowanaFaktura.ID_FK_KOR = poprzedniaKorekta[0].ID_FAKTURY;
|
|---|
| 1031 | }
|
|---|
| 1032 | else
|
|---|
| 1033 | {
|
|---|
| 1034 | korygowanaFaktura.SetID_FK_KORNull();
|
|---|
| 1035 | }
|
|---|
| 1036 |
|
|---|
| 1037 | fAKTURYBindingSource.EndEdit();
|
|---|
| 1038 |
|
|---|
| 1039 | SqlConnection conn = new SqlConnection(ConnString.getConnString().Value);
|
|---|
| 1040 |
|
|---|
| 1041 | fAKTURYTableAdapter.Connection = conn;
|
|---|
| 1042 | fakturA_DETAILSTableAdapter.Connection = conn;
|
|---|
| 1043 |
|
|---|
| 1044 | conn.Open();
|
|---|
| 1045 | SqlTransaction transaction = conn.BeginTransaction();
|
|---|
| 1046 |
|
|---|
| 1047 | fAKTURYTableAdapter.AttachTransaction(transaction);
|
|---|
| 1048 | fakturA_DETAILSTableAdapter.AttachTransaction(transaction);
|
|---|
| 1049 |
|
|---|
| 1050 | try
|
|---|
| 1051 | {
|
|---|
| 1052 | fAKTURYTableAdapter.Update(korygowanaFaktura);
|
|---|
| 1053 | fAKTURYTableAdapter.Delete(idKorekty);
|
|---|
| 1054 | fakturA_DETAILSTableAdapter.Delete(idKorekty);
|
|---|
| 1055 |
|
|---|
| 1056 | transaction.Commit();
|
|---|
| 1057 | }
|
|---|
| 1058 | catch
|
|---|
| 1059 | {
|
|---|
| 1060 | transaction.Rollback();
|
|---|
| 1061 | throw;
|
|---|
| 1062 | }
|
|---|
| 1063 | finally
|
|---|
| 1064 | {
|
|---|
| 1065 | conn.Close();
|
|---|
| 1066 | }
|
|---|
| 1067 | }
|
|---|
| 1068 |
|
|---|
| 1069 | }
|
|---|
| 1070 | }
|
|---|
| 1071 |
|
|---|
| 1072 |
|
|---|