private void BtnSubmit_Click(object sender, EventArgs e) { tblVendorPayment tbv = new tblVendorPayment(); tbv.VendorId = Convert.ToInt32(cboVendor.SelectedValue.ToString()); tbv.PaymentDate = Convert.ToDateTime(dateTimePicker1.Value); tbv.TotalAmount = Convert.ToDecimal(txtTotalAmount.Text); tbv.PaymentAmount = Convert.ToDecimal(txtPaidAmount.Text); tbv.RemainingAmount = Convert.ToDecimal(txtRemainingAmount.Text); tbv.PaymentMode = cboPaymentMode.Text; _db.tblVendorPayments.Add(tbv); if (_db.SaveChanges() > 0) { int vendorid = Convert.ToInt32(cboVendor.SelectedValue.ToString()); var vendors = _db.tblVendorPayments.Select(x => new { VendorId = x.VendorId, VendorName = x.tblVendor.Name, PaymentDate = x.PaymentDate, TotalAmount = x.TotalAmount, PaymentAmount = x.PaymentAmount, RemainingAmount = x.RemainingAmount }).Where(v => v.VendorId == vendorid).ToList(); dataGridView1.DataSource = vendors; MessageBox.Show("Payment Done"); cboVendor.SelectedIndex = 0; txtPaidAmount.Text = ""; txtTotalAmount.Text = ""; txtRemainingAmount.Text = ""; cboPaymentMode.SelectedIndex = 0; } }
private void BtnSave_Click(object sender, EventArgs e) { tblPurchaseInvoice tb = new tblPurchaseInvoice(); tb.InvoiceNo = txtInvoiceNo.Text; tb.InvoiceDate = Convert.ToDateTime(txtInvoiceDate.Text); tb.GrandTotal = Convert.ToDecimal(txtGrandTotal.Text); tb.VendorId = vendorid; db.tblPurchaseInvoices.Add(tb); db.SaveChanges(); var tbv = db.tblVendorPayments.OrderByDescending(a => a.VendorPaymentId).Select(x => new { VendorId = x.VendorId, VendorName = x.tblVendor.Name, PaymentDate = x.PaymentDate, TotalAmount = x.TotalAmount, PaymentAmount = x.PaymentAmount, RemainingAmount = x.RemainingAmount }).Where(b => b.VendorId == vendorid).Take(1).FirstOrDefault(); tblVendorPayment tbvenpay = new tblVendorPayment(); if (tbv != null) { tbvenpay.VendorId = vendorid; tbvenpay.PaymentDate = Convert.ToDateTime(txtInvoiceDate.Text); tbvenpay.TotalAmount = Convert.ToDecimal(txtGrandTotal.Text) + Convert.ToDecimal(tbv.RemainingAmount); tbvenpay.PaymentAmount = Convert.ToDecimal(txtPaidAmount.Text); tbvenpay.RemainingAmount = (Convert.ToDecimal(txtGrandTotal.Text) + Convert.ToDecimal(tbv.RemainingAmount)) - Convert.ToDecimal(txtPaidAmount.Text); } else { tbvenpay.VendorId = vendorid; tbvenpay.PaymentDate = Convert.ToDateTime(txtInvoiceDate.Text); tbvenpay.TotalAmount = Convert.ToDecimal(txtGrandTotal.Text); tbvenpay.PaymentAmount = Convert.ToDecimal(txtPaidAmount.Text); tbvenpay.RemainingAmount = Convert.ToDecimal(txtRemainingAmount.Text); tbvenpay.PaymentMode = rbdCash.Checked ? "Cash" : "Cheque"; } db.tblVendorPayments.Add(tbvenpay); if (db.SaveChanges() > 0) { foreach (DataGridViewRow dr in dataGridView1.Rows) { tblPurchase pur = new tblPurchase(); pur.PurchaseInvoiceId = tb.PurchaseInvoiceId; pur.ProductId = Convert.ToInt32(dr.Cells["colProductId"].Value); pur.Quantity = Convert.ToInt32(dr.Cells["colQuantity"].Value); pur.UnitPrice = Convert.ToDecimal(dr.Cells["colUnitPrice"].Value); pur.Total = Convert.ToDecimal(dr.Cells["colTotal"].Value); pur.PurchaseDate = Convert.ToDateTime(txtInvoiceDate.Text); pur.Tax = Convert.ToDecimal(dr.Cells["colTax"].Value); db.tblPurchases.Add(pur); if (db.SaveChanges() > 0) { tblStock tbst = db.tblStocks.Where(p => p.ProductId == pur.ProductId).FirstOrDefault(); if (tbst != null) { int puranoquantity = Convert.ToInt32(tbst.Quantity); tbst.Quantity = puranoquantity + Convert.ToInt32(dr.Cells["colQuantity"].Value); db.SaveChanges(); } else { tblStock tbstock = new tblStock(); tbstock.ProductId = Convert.ToInt32(dr.Cells["colProductId"].Value); tbstock.Quantity = Convert.ToInt32(dr.Cells["colQuantity"].Value); db.tblStocks.Add(tbstock); db.SaveChanges(); } } } } MessageBox.Show("Purchase Done"); }