private void DeliveryButton(object sender, EventArgs e) { try { if (dueTextBox.Text.Equals(payingAmountTextBOX.Text)) { double due, pay, final_Due; int quantity, serial_No; double unitprice, advance, BuyUnitPrice; double a, b; a = Convert.ToDouble(dueTextBox.Text); b = Convert.ToDouble(payingAmountTextBOX.Text); if (dueTextBox.Text.Equals("")&&payingAmountTextBOX.Text.Equals("")) { MessageBox.Show("There are no order for delivery.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if(a<b) { MessageBox.Show("Please check the paying amount.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { due = Convert.ToDouble(dueTextBox.Text); pay = Convert.ToDouble(payingAmountTextBOX.Text); final_Due = due - pay; BuyUnitPrice = Convert.ToDouble(buyingUnitPriceTextBox.Text); quantity = Convert.ToInt16(bookQuantityTextBOx.Text); unitprice = Convert.ToDouble(bookUnitPriceTextBOx.Text); advance = Convert.ToDouble(advanceTextBox.Text); serial_No = Convert.ToInt16(serialTextBox.Text); string print = bookPrintTextBox.Text; DBManager manager = new DBManager(); SqlConnection connection = manager.Connection(); string insertQuery = "INSERT INTO Delivery_Report values(@serial,@cname,@phone,@bookName,@writer,@edition,@print,@quantity,@buyUnitprice,@unitpricecell,@advance,@due,@payingAmount,@finaldue,@date)"; SqlCommand command = new SqlCommand(insertQuery, connection); connection.Open(); command.Parameters.Clear(); command.Parameters.Add("@serial", serialTextBox.Text); command.Parameters.Add("@cname", customerNameTextBox.Text); command.Parameters.Add("@phone", customerMobileTextBox.Text); command.Parameters.Add("@bookName", bookNameTextBox.Text); command.Parameters.Add("@writer", writerNameTextBox.Text); command.Parameters.Add("@edition", bookEditionTextBox.Text); command.Parameters.Add("@print", bookPrintTextBox.Text); command.Parameters.Add("@quantity", quantity); command.Parameters.Add("@buyUnitprice", Convert.ToDouble(BuyUnitPrice)); command.Parameters.Add("@unitpricecell", unitprice); command.Parameters.Add("@advance", advance); command.Parameters.Add("@due", due); command.Parameters.Add("@payingAmount", pay); command.Parameters.Add("@finaldue", final_Due); command.Parameters.Add("@date", DateTime.Now.ToShortDateString()); command.ExecuteNonQuery(); DBManager manager6 = new DBManager(); SqlConnection connection6 = manager6.Connection(); string selectQuery6 = "insert into Due_Collection values(@pay,@empty,@payConleection,@date)"; SqlCommand cmd6 = new SqlCommand(selectQuery6, connection6); connection6.Open() ; cmd6.Parameters.Clear(); cmd6.Parameters.Add("@pay","0"); cmd6.Parameters.Add("@empty", "0"); cmd6.Parameters.AddWithValue("@payConleection", pay); cmd6.Parameters.Add("@date", DateTime.Now.ToShortDateString()); cmd6.ExecuteNonQuery(); connection.Close(); string deleteQuery = "delete from Orders where Order_No='" + serial_No + "'"; SqlCommand command1 = new SqlCommand(deleteQuery, connection); connection.Open(); int x = command1.ExecuteNonQuery(); MessageBox.Show(customerNameTextBox.Text + " paid his/her due.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); connection.Close(); //update books string name = bookNameTextBox.Text; string writer = writerNameTextBox.Text; string edition = bookEditionTextBox.Text; String selectQ = "select Quantiy,B_Unit_Price from Books where Name=@name and Edition=@edition and Writer=@writer"; SqlCommand sletCom = new SqlCommand(selectQ, connection); connection.Open(); sletCom.Parameters.Clear(); sletCom.Parameters.AddWithValue("@name", name); sletCom.Parameters.AddWithValue("@edition", edition); sletCom.Parameters.AddWithValue("@writer", writer); SqlDataReader reader = sletCom.ExecuteReader(); while (reader.Read()) { int quantity4 = Convert.ToInt16(reader[0]); double unitprice5 = Convert.ToDouble(reader[1]); connection.Close(); int quantityReudceBook, final_quantity; quantityReudceBook = Convert.ToInt16(bookQuantityTextBOx.Text); final_quantity = quantity4 - quantityReudceBook; double T_Price = final_quantity*unitprice5; string updateQuery = "UPDATE Books set Quantiy=@quantity,Total_Price=@totalPrice where Name=@name and Edition=@edition and Writer=@writer"; SqlCommand upCommand = new SqlCommand(updateQuery, connection); upCommand.Parameters.Clear(); upCommand.Parameters.AddWithValue("@quantity", final_quantity); upCommand.Parameters.AddWithValue("@totalPrice", T_Price); upCommand.Parameters.AddWithValue("@name", name); upCommand.Parameters.AddWithValue("@edition", edition); upCommand.Parameters.AddWithValue("@writer", writer); connection.Open(); int s = upCommand.ExecuteNonQuery(); MessageBox.Show("Updated","Message",MessageBoxButtons.OK,MessageBoxIcon.Information); //temp order delivery report save TempOrder anOrder=new TempOrder(serialTextBox.Text,customerNameTextBox.Text,customerMobileTextBox.Text,bookNameTextBox.Text,writerNameTextBox.Text,bookEditionTextBox.Text,bookPrintTextBox.Text,Convert.ToInt16(bookQuantityTextBOx.Text),Convert.ToDouble(bookUnitPriceTextBOx.Text ), Convert.ToDouble(Convert.ToInt16(bookQuantityTextBOx.Text)*Convert.ToDouble(bookUnitPriceTextBOx.Text)),Convert.ToDouble(advanceTextBox.Text),final_Due,Convert.ToDouble(payingAmountTextBOX.Text),memoNumver); TempOrderGateway gateway=new TempOrderGateway(); gateway.SaveDeliveryReport(anOrder); GetAllOrders(); GetAllOrders1(); ClearAllTextBox(); connection.Close(); return; } } } else { double due, pay, final_Due; int quantity, serial_No; double unitprice, advance, BuyUnitPrice; quan = Convert.ToInt16(bookQuantityTextBOx.Text); double a, b; a = Convert.ToDouble(dueTextBox.Text); b = Convert.ToDouble(payingAmountTextBOX.Text); if (dueTextBox.Text.Equals("0") || payingAmountTextBOX.Text.Equals("0")) { final_Due = 0; } else if (a < b) { MessageBox.Show("Please check the paying amount.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { due = Convert.ToDouble(dueTextBox.Text); pay = Convert.ToDouble(payingAmountTextBOX.Text); final_Due = due - pay; BuyUnitPrice = Convert.ToDouble(buyingUnitPriceTextBox.Text); quantity = Convert.ToInt16(bookQuantityTextBOx.Text); unitprice = Convert.ToDouble(bookUnitPriceTextBOx.Text); advance = Convert.ToDouble(advanceTextBox.Text); serial_No = Convert.ToInt16(serialTextBox.Text); DBManager manager = new DBManager(); SqlConnection connection = manager.Connection(); string insertQuery = "INSERT INTO Delivery_Report values(@serial,@cname,@phone,@bookName,@writer,@edition,@print,@quantity,@buyUnitprice,@unitpricecell,@advance,@due,@payingAmount,@finaldue,@date)"; SqlCommand command = new SqlCommand(insertQuery, connection); connection.Open(); command.Parameters.Clear(); command.Parameters.Add("@serial", serialTextBox.Text); command.Parameters.Add("@cname", customerNameTextBox.Text); command.Parameters.Add("@phone", customerMobileTextBox.Text); command.Parameters.Add("@bookName", bookNameTextBox.Text); command.Parameters.Add("@writer", writerNameTextBox.Text); command.Parameters.Add("@edition", bookEditionTextBox.Text); command.Parameters.Add("@print", bookPrintTextBox.Text); command.Parameters.Add("@quantity", quantity); command.Parameters.Add("@buyUnitprice", Convert.ToDouble(BuyUnitPrice)); command.Parameters.Add("@unitpricecell", unitprice); command.Parameters.Add("@advance", advance); command.Parameters.Add("@due", due); command.Parameters.Add("@payingAmount", pay); command.Parameters.Add("@finaldue", final_Due); command.Parameters.Add("@date", DateTime.Now.ToShortDateString()); command.ExecuteNonQuery(); connection.Close(); DBManager manager5 = new DBManager(); SqlConnection connection5 = manager5.Connection(); string selectQuery5 = "SELECT Quantity,Unit_Price From Orders where Order_No=@serial"; SqlCommand cmd5 = new SqlCommand(selectQuery5, connection5); cmd5.Parameters.Clear(); cmd5.Parameters.AddWithValue("@serial", serial_No); connection5.Open() ; SqlDataReader reader5 = cmd5.ExecuteReader(); while (reader5.Read()) { string q = reader5[0].ToString(); string r = reader5[1].ToString(); if (q.Equals("") && r.Equals("")) { qunatityOfRemaingBook = 0; unit_Price = 0; } else { qunatityOfRemaingBook = Convert.ToInt16(q); unit_Price = Convert.ToDouble(r); } } connection.Close(); //Due Collection table Update double s_due = Convert.ToDouble(dueTextBox.Text) - Convert.ToDouble(payingAmountTextBOX.Text); DBManager manager6 = new DBManager(); SqlConnection connection6 = manager6.Connection(); string selectQuery6 = "insert into Due_Collection values(@pay,@s_due,@payCollection,@date)"; SqlCommand cmd6 = new SqlCommand(selectQuery6, connection6); connection6.Open() ; cmd6.Parameters.Clear(); cmd6.Parameters.Add("@pay", "0"); cmd6.Parameters.Add("@s_due", s_due); cmd6.Parameters.AddWithValue("@payCollection", pay); cmd6.Parameters.Add("@date", DateTime.Now.ToShortDateString()); cmd6.ExecuteNonQuery(); int sa = qunatityOfRemaingBook - quan; string deleteQuery = "Update Orders set Quantity=@quantity,Total_price=@totalprice, Due=@due where Order_No=@serial"; SqlCommand command1 = new SqlCommand(deleteQuery, connection); command1.Parameters.Clear(); command1.Parameters.AddWithValue("@quantity", sa); command1.Parameters.AddWithValue("@totalprice", (sa*unit_Price)); command1.Parameters.AddWithValue("@due", final_Due); command1.Parameters.AddWithValue("@serial", serial_No); connection.Open(); int x = command1.ExecuteNonQuery(); MessageBox.Show(customerNameTextBox.Text + " Your current due is "+final_Due+".", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); connection.Close(); //books update string name = (bookNameTextBox.Text).Trim(); string writer = writerNameTextBox.Text; string edition = bookEditionTextBox.Text; string selectQ = "select Quantiy,B_Unit_Price from Books where Name=@name and Edition=@edition and Writer=@writer"; SqlCommand sletCom = new SqlCommand(selectQ, connection); sletCom.Parameters.Clear(); sletCom.Parameters.AddWithValue("@name", name); sletCom.Parameters.AddWithValue("@edition", edition); sletCom.Parameters.AddWithValue("@writer", writer); connection.Open(); SqlDataReader reader = sletCom.ExecuteReader(); while (reader.Read()) { int quantity4 = Convert.ToInt16(reader[0]); double unitprice5 = Convert.ToDouble(reader[1]); connection.Close(); int quantityReudceBook, final_quantity; quantityReudceBook = Convert.ToInt16(bookQuantityTextBOx.Text); final_quantity = quantity4 - quantityReudceBook; double T_Price = final_quantity*unitprice5; string updateQuery = "UPDATE Books set Quantiy=@finalQuantity,Total_Price=@totalprice where Name=@name and Edition=@edition and Writer=@writer"; SqlCommand upCommand = new SqlCommand(updateQuery, connection); upCommand.Parameters.Clear(); upCommand.Parameters.AddWithValue("@finalQuantity", final_quantity); upCommand.Parameters.AddWithValue("@totalprice", T_Price); upCommand.Parameters.AddWithValue("@name", name); upCommand.Parameters.AddWithValue("@edition", edition); upCommand.Parameters.AddWithValue("@writer", writer); connection.Open(); upCommand.ExecuteNonQuery(); //for partial pay TempOrder anOrder = new TempOrder(serialTextBox.Text, customerNameTextBox.Text, customerMobileTextBox.Text, bookNameTextBox.Text, writerNameTextBox.Text, bookEditionTextBox.Text, bookPrintTextBox.Text, Convert.ToInt16(bookQuantityTextBOx.Text), Convert.ToDouble(bookUnitPriceTextBOx.Text ), Convert.ToDouble(Convert.ToInt16(bookQuantityTextBOx.Text) * Convert.ToDouble(bookUnitPriceTextBOx.Text)), Convert.ToDouble(advanceTextBox.Text),final_Due, Convert.ToDouble(payingAmountTextBOX.Text),memoNumver); TempOrderGateway gateway = new TempOrderGateway(); gateway.SaveDeliveryReport(anOrder); GetAllOrders(); GetAllOrders1(); ClearAllTextBox(); connection.Close(); MessageBox.Show("Updated","Message",MessageBoxButtons.OK,MessageBoxIcon.Information); return; } } } } catch (Exception formatException) { MessageBox.Show(formatException.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error); } }