예제 #1
0
        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 ");
            }
        }