private void savePurchasebutton_Click(object sender, EventArgs e) { try { if (expiredateTimePicker.Value.Date == DateTime.Now.Date) { DialogResult result = MessageBox.Show("Do you want to Empty Expire Date?", "Confirmation", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { } else if (result == DialogResult.No) { return; } } if (pricetextBox.Text.Length != 0 && paidPricetextBox.Text.Length != 0 && quantitytextBox.Text.Length != 0) { InventoryPurchase aInventoryPurchase = new InventoryPurchase(); InventoryCategory aCategory = new InventoryCategory(); InventoryItem aItem = new InventoryItem(); Supplier aSupplier = new Supplier(); Supplier aaSupplier = new Supplier(); Unit aUnit = new Unit(); //Add for purchase record aCategory = (InventoryCategory)categoryNamecomboBox.Items[categoryNamecomboBox.SelectedIndex]; SupplierBLL aSupplierBll = new SupplierBLL(); aSupplier = aSupplierBll.GetSupplierByid(Convert.ToInt32(supplierNamecomboBox.SelectedValue)); // aSupplier = (Supplier) supplierNamecomboBox.Items[supplierNamecomboBox.SelectedIndex]; if (aSupplier.PaidAmount > aSupplier.TotalAmount) { aSupplier.AdvanceAmount = aSupplier.PaidAmount - aSupplier.TotalAmount; } else { aSupplier.DueAmount = aSupplier.TotalAmount - aSupplier.PaidAmount; } aItem = (InventoryItem)itemNamecomboBox.Items[itemNamecomboBox.SelectedIndex]; aInventoryPurchase.Quantity = Convert.ToDouble(quantitytextBox.Text); aInventoryPurchase.Price = Convert.ToDouble(pricetextBox.Text); aInventoryPurchase.Date = DateTime.Now; aInventoryPurchase.Category = aCategory; aInventoryPurchase.Item = aItem; aaSupplier.PaidAmount = Convert.ToDouble(paidPricetextBox.Text); aInventoryPurchase.Supplier = aaSupplier; if (((aSupplier.DueAmount + Convert.ToDouble(pricetextBox.Text) - (Convert.ToDouble(paidPricetextBox.Text) + aSupplier.AdvanceAmount))) >= 0) { aInventoryPurchase.Supplier.DueAmount = aSupplier.DueAmount + Convert.ToDouble(pricetextBox.Text) - (Convert.ToDouble(paidPricetextBox.Text) + aSupplier.AdvanceAmount); } else { aInventoryPurchase.Supplier.DueAmount = 0.0; } if (((Convert.ToDouble(paidPricetextBox.Text) + aSupplier.AdvanceAmount) - (aSupplier.DueAmount + Convert.ToDouble(pricetextBox.Text))) >= 0) { aInventoryPurchase.Supplier.AdvanceAmount = (Convert.ToDouble(paidPricetextBox.Text) + aSupplier.AdvanceAmount) - (aSupplier.DueAmount + Convert.ToDouble(pricetextBox.Text)); } else { aInventoryPurchase.Supplier.AdvanceAmount = 0.0; } aInventoryPurchase.Supplier.Name = aSupplier.Name; aInventoryPurchase.Supplier.SupplierId = aSupplier.SupplierId; aUnit.UnitName = unittypelabel.Text; aInventoryPurchase.Unit = aUnit; CUserInfo aUserInfo = new CUserInfo(); aUserInfo.UserName = RMSGlobal.LogInUserName; aInventoryPurchase.PaymentType = paymentTypecomboBox.SelectedItem.ToString(); aInventoryPurchase.CUserInfo = aUserInfo; if (expiredateTimePicker.Value.Date == DateTime.Now.Date) { } else { aInventoryPurchase.ExpireDate = expiredateTimePicker.Value.Date; } string res = string.Empty; InventoryPurchaseBLL aInventoryPurchaseBll = new InventoryPurchaseBLL(); res = aInventoryPurchaseBll.InsertPurchase(aInventoryPurchase); if (res == "Purchase Insert Sucessfully") { //Add for Supplier Update aSupplier.TotalAmount += Convert.ToDouble(pricetextBox.Text); aSupplier.PaidAmount += Convert.ToDouble(paidPricetextBox.Text); aSupplierBll.UpdateSupplierForPurchase(aSupplier); //Add for Supplier payment report Supplier paymentSupplier = new Supplier(); paymentSupplier.PaidAmount = Convert.ToDouble(paidPricetextBox.Text); paymentSupplier.TotalAmount = Convert.ToDouble(pricetextBox.Text); paymentSupplier.SupplierId = aSupplier.SupplierId; paymentSupplier.PaymentType = paymentTypecomboBox.SelectedItem.ToString(); aSupplierBll.InsertIntosupplier_payment_reportForSupplierPaymentTrack(paymentSupplier); //Add for stock update Stock aStock = new Stock(); aStock.Category = aCategory; aStock.Item = aItem; aStock.Unit = aUnit; aStock.Stocks = Convert.ToDouble(quantitytextBox.Text); aStock.UnitPrice = Convert.ToDouble(pricetextBox.Text) / aStock.Stocks; StockBLL aStockBll = new StockBLL(); aStockBll.InsertStockOrUpdate(aStock); purchaseActionlabel.Visible = true; purchaseActionlabel.Text = res; Clear(); } else { purchaseActionlabel.Visible = true; purchaseActionlabel.Text = res; } } else { purchaseActionlabel.Visible = true; purchaseActionlabel.Text = "Please Check Your Input"; } } catch { MessageBox.Show("Try Again May Be Your Given Input Format Not Correct Please Given Again "); } }