예제 #1
0
 private void AddItemButton_Click(object sender, EventArgs e)
 {
     AccountsRecievableDao DAO = new AccountsRecievableDao();
     int ProductId = DAO.InsertItem(txtProductCode.Text, txtBrand.Text, Convert.ToDecimal(txtUnitPrice.Text));
     //if(DAO.ItemExist())
     MessageBox.Show("Product inserted into DB: " + ProductId);
 }
        private void SaveInvoiceFunction()
        {
            string ErrorMessage = "";
            ErrorMessage = ValidateInvoice();
            if (ErrorMessage.Length > 0)
            {
                MessageBox.Show("Incomplete / Invalid Invoice Details: \n" + ErrorMessage);
            }
            else
            {
                AccountsRecievableDao DAO = new AccountsRecievableDao();
                if (!DAO.CustomerExist(txtCustomerName.Text))
                {
                    CustomerId = DAO.InsertCustomer(
                        txtCustomerName.Text.ToString().Trim(),
                        txtAddress.Text.ToString().Trim(),
                        Convert.ToInt32(txtContactNumber.Text.ToString().Trim())
                        );
                }
                else
                {
                    var CustomerDetails = new Dictionary<string, object>();
                    CustomerDetails["ADDRESS"] = txtAddress.Text;
                    CustomerDetails["CONTACT_NO"] = txtContactNumber.Text;

                    DAO.UpdateQuery(Constants.TableNames.CUSTOMER, CustomerDetails, "CUSTOMER_ID", CustomerId.ToString());
                }
                if (!DAO.PersonnelExist(txtSalesRepresentative.Text))
                {
                    PersonnelId = DAO.InsertPersonnel(
                       txtSalesRepresentative.Text.ToString().Trim(),
                       txtBranch.Text.ToString().Trim()
                       );
                }
                else
                {
                    var PersonnelDetails = new Dictionary<string, object>();
                    PersonnelDetails["BRANCH"] = txtBranch.Text;

                    DAO.UpdateQuery(Constants.TableNames.PERSONNEL, PersonnelDetails, "PERSONNEL_ID", PersonnelId.ToString());
                }
                //update invoice
                var InvoiceDetails = new Dictionary<string, object>();
                InvoiceDetails["ENTRY_DATE"] = pkrEntryDate.Value;
                InvoiceDetails["INVOICE_DATE"] = pkrInvoiceDate.Value;
                InvoiceDetails["PAYMENT_TERMS"] = txtPaymentTerms.Value;
                InvoiceDetails["RECEIVABLE_STATUS"] = GetRecievableStatusCode(ddlRecievableStatus.SelectedItem.ToString());
                InvoiceDetails["DISCOUNT"] = txtInvoiceDiscount.Text;
                InvoiceDetails["DUE_DATE"] = pkrInvoiceDate.Value.AddDays(int.Parse(txtPaymentTerms.Value.ToString()));
                InvoiceDetails["REMARKS"] = txtRemarks.Text;
                InvoiceDetails["AMOUNT"] = txtInvoiceTotal.Text.Replace(",","");
                InvoiceDetails["PERSONNEL_ID"] = PersonnelId;
                InvoiceDetails["CUSTOMER_ID"] = CustomerId;
                InvoiceDetails["DATE_UPDATED"] = DateTime.Now;
                InvoiceDetails["UPDATED_BY"] = DAO.GetUserId(UserId);

                DAO.UpdateQuery(Constants.TableNames.RECEIVABLES, InvoiceDetails, "INVOICE_NO", txtInvoiceNumber.Text);

                //update transactions
                DAO.ExecuteSQL("DELETE FROM " + Constants.TableNames.TRANSACTIONS + " WHERE INVOICE_ID = '" +InvoiceId.ToString()+ "'");
                int InvoiceDiscount = 0;
                int ProductId = 0;
                int InvoiceItemDiscount = 0;
                int.TryParse(txtInvoiceDiscount.Text, out InvoiceDiscount);
                foreach (DataGridViewRow Row in InvoiceItems.Rows)
                {
                    InvoiceDiscount = 0;
                    if (Row.Cells[Constants.RowColumnCodeForAddInvoice.DISCOUNT].Value != null)
                    {
                        int.TryParse(Row.Cells[Constants.RowColumnCodeForAddInvoice.DISCOUNT].Value.ToString().Trim(), out InvoiceDiscount);
                    }
                    if (Row.Cells[1].Value != null)
                    {
                        if (!DAO.ItemExist(Row.Cells[Constants.RowColumnCodeForAddInvoice.ITEM_CODE].Value.ToString().Trim(), Convert.ToDecimal(Row.Cells[Constants.RowColumnCodeForAddInvoice.PRICE].Value.ToString().Trim())))
                        {
                            ProductId = DAO.InsertItem(Row.Cells[Constants.RowColumnCodeForAddInvoice.ITEM_CODE].Value.ToString().Trim(),
                                Row.Cells[Constants.RowColumnCodeForAddInvoice.BRAND].Value.ToString().Trim(),
                                Convert.ToDecimal(Row.Cells[Constants.RowColumnCodeForAddInvoice.PRICE].Value.ToString().Trim()));
                        }
                        else
                        {
                            ProductId = Convert.ToInt32(DAO.SelectQuery("SELECT PRODUCT_ID FROM " + Constants.TableNames.PRODUCT + " WHERE PRODUCT_CODE ='" + Row.Cells[Constants.RowColumnCodeForAddInvoice.ITEM_CODE].Value.ToString().Trim() + "'").Rows[0][0].ToString());
                        }
                        DAO.InsertTransaction(InvoiceId, ProductId, Convert.ToInt32(Row.Cells[Constants.RowColumnCodeForAddInvoice.QUANTITY].Value.ToString().Trim()), InvoiceDiscount);
                    }

                }
                MessageBox.Show(this, "Invoice Saved.", "Success", MessageBoxButtons.OK);
                this.Close();
            }
        }