Пример #1
0
        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();
        }
Пример #2
0
        public EventHandler <InvoiceEventInfo> UpdateInvoice; //publisher



        /// <summary>
        /// Constractor
        /// </summary>
        /// <param name="obj"></param>
        public WindowInvocie(Invoice obj)
        {
            documentInvoice = obj;
            InitializeComponent();
            InitializeGUI();
        }
Пример #3
0
        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.
            }
        }