private void PrintButton_Click(object sender, EventArgs e) { String backordernotes; bool hasBackorder = false; for (int i = 0; i < invoice.Items.Count; i++) { if (invoice.Items[i].BackOrder > 0) { hasBackorder = true; break; } } if (hasBackorder) { backordernotes = this.Controls["backorderInvoiceNotes"].Text; } else { backordernotes = ""; } float freight = 0; if (this.Controls["freight"].Text.Length == 0) { freight = 0; } else { freight = Single.Parse(this.Controls["freight"].Text); } // Query DB for Invoice Invoice printInvoice = new Invoice(invoice.InvoiceID); printInvoice.InvoiceID = invoice.InvoiceID; // Define & populate Object to define Table columns for datasource in .rdlc Report List <InvoiceItemDetail> invoiceItemDetails; invoiceItemDetails = new List <InvoiceItemDetail>(); for (int i = 0; i < printInvoice.Items.Count; i++) { invoiceItemDetails.Add(new InvoiceItemDetail()); // Quantity not updated in DB; Subtraction required int SubQuantity = printInvoice.Items[i].Quantity - printInvoice.Items[i].BackOrder; // Invoice Data invoiceItemDetails[i].InvoiceID = invoice.InvoiceID; invoiceItemDetails[i].QTY = SubQuantity; invoiceItemDetails[i].GrabCarton = printInvoice.Items[i].Quantity / printInvoice.Items[i].PerCarton; invoiceItemDetails[i].ItemNo = printInvoice.Items[i].ItemNo; invoiceItemDetails[i].Location = printInvoice.Items[i].Location; invoiceItemDetails[i].Description = printInvoice.Items[i].ItemDesc; invoiceItemDetails[i].CartonTotal = printInvoice.Items[i].PerCarton; invoiceItemDetails[i].InvoiceItemSellPrice = printInvoice.Items[i].SellPrice; invoiceItemDetails[i].InvoiceItemAmount = SubQuantity * printInvoice.Items[i].SellPrice; invoiceItemDetails[i].InvoiceItemNote = printInvoice.Items[i].SpecialNotes; // Backorder Data invoiceItemDetails[i].Backorder = printInvoice.Items[i].BackOrder; invoiceItemDetails[i].BackorderGrabCarton = printInvoice.Items[i].BackOrder / printInvoice.Items[i].PerCarton; invoiceItemDetails[i].BackorderNote = printInvoice.Items[i].BackOrderSpecialNotes; } printInvoice.BackorderNotes = backordernotes; printInvoice.freight = freight; Form PrintForm = new PrintInvoiceProgress(printInvoice, invoiceItemDetails); PrintForm.ShowDialog(); }
public EventHandler <InvoiceEventInfo> UpdateInvoice; //publisher /// <summary> /// Constractor /// </summary> /// <param name="obj"></param> public WindowInvocie(Invoice obj) { documentInvoice = obj; InitializeComponent(); InitializeGUI(); }
private void OkButton_Click(object sender, EventArgs e) { var confirmResult = MessageBox.Show("Are you sure this invoice is complete?", "Confirm Completion!!", MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { if (this.Controls["invoiceNumber"].Text.Length == 0) { this.Controls["invoiceNumber"].BackColor = Color.Red; return; } Customer cust = CustomerDatabase.SearchCustomersByID(customerID); for (int i = 0; i < invoiceContentsList.Count; i++) { int numBO; String itemNo = this.panel1.Controls["itemNumber" + i].Text; String notes = this.panel1.Controls["specialNotes" + i].Text; int qty = Int32.Parse(this.panel1.Controls["qty" + i].Text); int entryID = InvoiceContentsDatabase.GetEntryID(invoice.InvoiceID, itemNo); if (invoiceContentsList[i].Backorder > 0) { numBO = Int32.Parse(this.panel1.Controls["backorder" + i].Text); InvoiceContentsDatabase.EditInvoiceContent(entryID, invoice.InvoiceID, itemNo, qty, notes); InvoiceContentsDatabase.UpdateBackorderSpecialNotes(entryID, this.panel1.Controls["backorderNotes" + i].Text); } } int invoiceNumber; invoiceNumber = Int32.Parse(this.Controls["invoiceNumber"].Text); float freight = 0; if (this.Controls["freight"].Text.Length == 0) { freight = 0; } else { freight = Single.Parse(this.Controls["freight"].Text); } InvoiceDatabase.EditInvoice(invoice.InvoiceID, cust.StoreID, invoice.PurchaseOrder, invoice.SpecialNotes, invoiceNumber, Single.Parse(this.Controls["subTotalAmount"].Text), Single.Parse(this.Controls["gst"].Text), Single.Parse(this.Controls["pst"].Text), Single.Parse(this.Controls["invoiceTotal"].Text), 3); InvoiceDatabase.UpdateFreight(invoice.InvoiceID, freight); InvoiceDatabase.UpdateBackorderSpecialNotes(invoice.InvoiceID, this.Controls["backorderInvoiceNotes"].Text); bool hasBackorder = false; for (int i = 0; i < invoice.Items.Count; i++) { if (invoice.Items[i].BackOrder > 0) { hasBackorder = true; break; } } if (hasBackorder) { InvoiceDatabase.UpdateBackorderSpecialNotes(invoice.InvoiceID, this.Controls["backorderInvoiceNotes"].Text); } else { InvoiceDatabase.UpdateBackorderSpecialNotes(invoice.InvoiceID, ""); } // Query DB for updated results. Invoice printInvoice = new Invoice(invoice.InvoiceID); // Define & populate Object to define Table columns for datasource in .rdlc Report List <InvoiceItemDetail> invoiceItemDetails; invoiceItemDetails = new List <InvoiceItemDetail>(); for (int i = 0; i < invoice.Items.Count; i++) { invoiceItemDetails.Add(new InvoiceItemDetail()); // Invoice Order Data invoiceItemDetails[i].InvoiceID = invoice.InvoiceID; invoiceItemDetails[i].QTY = printInvoice.Items[i].Quantity; // Hide GrabCarton in Final Invoice Report invoiceItemDetails[i].GrabCarton = 0.0f; invoiceItemDetails[i].ItemNo = printInvoice.Items[i].ItemNo; invoiceItemDetails[i].Description = printInvoice.Items[i].ItemDesc; // Hide CartonTotal in Final Invoice Report invoiceItemDetails[i].CartonTotal = 0; invoiceItemDetails[i].InvoiceItemSellPrice = printInvoice.Items[i].SellPrice; invoiceItemDetails[i].InvoiceItemAmount = printInvoice.Items[i].Quantity * printInvoice.Items[i].SellPrice; invoiceItemDetails[i].InvoiceItemNote = printInvoice.Items[i].SpecialNotes; // Backorder Data invoiceItemDetails[i].Backorder = printInvoice.Items[i].BackOrder; invoiceItemDetails[i].BackorderGrabCarton = 0.0f; invoiceItemDetails[i].BackorderNote = printInvoice.Items[i].BackOrderSpecialNotes; } Form PrintForm = new PrintInvoiceProgress(printInvoice, invoiceItemDetails); PrintForm.ShowDialog(); this.Close(); } else { // If 'No', do something here. } }