public bool Insert_transaction(TransactionBll t, out int transactionID) { bool isSuccess = false; transactionID = -1; SqlConnection conn = new SqlConnection(myconstring); try { string sql = "Insert into transaction_tbl (type,customer_id, grandTotal,transaction_date,tax,discount,addedd_by)Values(@type,@customer_id,@grandTotal,@transaction_date,@tax,@discount,@added_by); SELECT @@IDENTITY"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@type", t.type); cmd.Parameters.AddWithValue("@customer_id", t.dea_cust_id); cmd.Parameters.AddWithValue("@grandTotal", t.grandTotal); cmd.Parameters.AddWithValue("@transaction_date", t.transaction_date); cmd.Parameters.AddWithValue("@tax", t.tax); cmd.Parameters.AddWithValue("@discount", t.discount); cmd.Parameters.AddWithValue("@added_by", t.added_by); conn.Open(); object o = cmd.ExecuteScalar(); if (o != null) { transactionID = int.Parse(o.ToString()); isSuccess = true; } else { isSuccess = false; } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { conn.Close(); } return(isSuccess); }
private void button1_Click(object sender, EventArgs e) { try { TransactionBll transaction = new TransactionBll(); transaction.type = lblPurchaseandsales.Text; string deacustman = txt_name.Text; CustomerBll dc = dl.GetCustomerIDFromname(deacustman); transaction.dea_cust_id = dc.id; transaction.grandTotal = decimal.Parse(txt_grand.Text); transaction.transaction_date = DateTime.Now; transaction.tax = decimal.Parse(txt_vat.Text); transaction.discount = decimal.Parse(txt_discount.Text); string loggedUser = Login.loggein; usebll usr = Dal.GetIDFromUsername(loggedUser); transaction.added_by = usr.id; transaction.transactionDetails = transactionDT; bool success = false; using (TransactionScope scope = new TransactionScope()) { int transactionID = -1; bool w = tdal.Insert_transaction(transaction, out transactionID); for (int i = 0; i < transactionDT.Rows.Count; i++) { TransactionDetailsBll transactiondetails = new TransactionDetailsBll(); string Productname = txt_productnname.Text; Productbll p = Pl.GetProductIDFromName(Productname); string transactionType = lblPurchaseandsales.Text; transactiondetails.ProductID = p.id; transactiondetails.rate = decimal.Parse(transactionDT.Rows[i][1].ToString()); transactiondetails.qty = decimal.Parse(transactionDT.Rows[i][2].ToString()); transactiondetails.total = decimal.Parse(transactionDT.Rows[i][3].ToString()); transactiondetails.dea_cust_id = dc.id; transactiondetails.added_date = DateTime.Now; transactiondetails.added_by = usr.id; bool x = false; if (transactionType == "Purchase") { x = Pl.IncreaseProduct(transactiondetails.ProductID, transactiondetails.qty); } else if (transactionType == "Sales") { x = Pl.DecreaseProduct(transactiondetails.ProductID, transactiondetails.qty); } bool y = tdetailDAL.insertTransactionDetails(transactiondetails); success = w & y; if (success == true) { scope.Complete(); MessageBox.Show("Transaction Completed Successfully"); } else { MessageBox.Show("Transaction Failed"); } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }