public DataTable GetProduct(tbl_product p, tbl_stock s) { DataTable programs = new DataTable(); try { Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@company_id ", p.company_id); parameters.Add("@branch_id", p.branch_id); DataTable dt = helper.GetDataTableFromStoredProc(SP.productwithquantity, parameters); foreach (DataRow dr in dt.Rows) { p.product_id = Convert.ToInt32(dr["product_id"].ToString()); p.product_name = (dr["product_name"].ToString()); p.product_code = (dr["product_code"].ToString()); p.purchas_price = Convert.ToDecimal(dr["purchas_price"].ToString()); p.sales_price = Convert.ToDecimal(dr["sales_price"].ToString()); s.qty = Convert.ToInt32(dr["qty"].ToString()); p.reorder_level = Convert.ToInt32(dr["reorder_level"].ToString()); } programs = dt; } catch (Exception ex) { ErrorLog.saveerror(ex); } return(programs); }
//Methods------------------ protected void Save() { try { tbl_purchase purchase = new tbl_purchase(); purchase.company_id = companyId; purchase.branch_id = branchId; purchase.financialyear_id = financialYearId; purchase.InvoiceNumber = lblInvoice.Text; purchase.PaymentMode_id = Convert.ToInt32(ddlPaymentMode.SelectedValue); purchase.status = true; purchase.party_id = Convert.ToInt32(ddlVendor.SelectedValue); purchase.Po_Date = DateTime.Parse(txtdate.Text, new CultureInfo("en-US")); purchase.po_no = txtPONo.Text; purchase.created_by = user_id; purchase.created_date = DateTime.Now; //insert into Purchase Payment Details tbl_PurchasePaymentDetials purchasePaymentDetail = new tbl_PurchasePaymentDetials(); purchasePaymentDetail.TaxAmount = Convert.ToDecimal(lblTaxAmount.Text); purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text); purchasePaymentDetail.SubTotal = Convert.ToDecimal(lblsubtotal.Text); purchasePaymentDetail.GrandTotal = Convert.ToDecimal(lblGrandTotal.Text); purchasePaymentDetail.PaidAmnt = Convert.ToDecimal(txtPaidAmt.Text); purchasePaymentDetail.GivenAmnt = Convert.ToDecimal(txtPaidAmt.Text); purchasePaymentDetail.BalanceAmnt = Convert.ToDecimal(txtBalanceAmt.Text); purchasePaymentDetail.FromTable = "Purchase"; purchase.tbl_PurchasePaymentDetials.Add(purchasePaymentDetail); for (int i = 0; i <= gvpurchasedetails.Rows.Count - 1; i++) { int productId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[2].Text); int batchId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[4].Text); tbl_product product = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault(); //Add into Purchase Details table for each product tbl_purchasedetails purchaseDetails = new tbl_purchasedetails(); purchaseDetails.product_id = productId; purchaseDetails.batch_id = batchId; purchaseDetails.tax_id = product.tax_id; purchaseDetails.unit_id = product.unit_id; purchaseDetails.tax_amt = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[11].Text); purchaseDetails.dicount_amt = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[9].Text); purchaseDetails.quantity = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text); purchaseDetails.amount = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[12].Text); purchaseDetails.created_by = Convert.ToString(user_id); purchaseDetails.created_date = DateTime.Now; purchaseDetails.status = true; //Enter Details In tbl_ActualPurchaseTaxAndPrice : to get the original Values at the time of Purchase Return tbl_ActualPurchaseTaxAndPrice actualPurchase = new tbl_ActualPurchaseTaxAndPrice(); actualPurchase.product_id = productId; actualPurchase.status = true; actualPurchase.tax_percent = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[10].Text); actualPurchase.purchase_rate = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[6].Text); actualPurchase.discount_percent = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[8].Text); actualPurchase.discount_amnt = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[9].Text); actualPurchase.batch_id = batchId; actualPurchase.sale_price = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[7].Text); actualPurchase.created_by = Convert.ToString(user_id); actualPurchase.created_date = DateTime.Now; //Add into Actual Purchase Tax And Return Table purchase.tbl_ActualPurchaseTaxAndPrice.Add(actualPurchase); //Add Stock if not exist or update the Stock against the product tbl_stock stock = new tbl_stock(); if (!IsProductStockExists(companyId, branchId, productId, batchId)) { stock.company_id = companyId; stock.branch_id = branchId; stock.product_id = productId; stock.batch_id = batchId; stock.qty = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text); stock.status = true; stock.created_by = Convert.ToString(user_id); stock.created_date = DateTime.Now; context.tbl_stock.Add(stock); } else { stock = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault(); stock.qty = stock.qty + Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text); stock.modified_by = Convert.ToString(user_id); stock.modified_date = DateTime.Now; } purchase.tbl_purchasedetails.Add(purchaseDetails); } context.tbl_purchase.Add(purchase); context.SaveChanges(); string order = purchase.InvoiceNumber; Session["p_id"] = purchase.purchase_id; ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Saved successfully, Your order number is " + order + "');", true); } catch (Exception ex) { ErrorLog.saveerror(ex); } }
protected void Save() { try { int purchaseId = Convert.ToInt32(hdnPurchaseId.Value); if (purchaseId == 0) { ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Please Enter Purchase No','False');", true); return; } //Get Origianl Purchase Details tbl_purchase purchase = new tbl_purchase(); purchase = context.tbl_purchase.Where(pd => pd.purchase_id == purchaseId && pd.company_id == companyId && pd.branch_id == branchId).FirstOrDefault(); tbl_purchasereturn purchaseReturn = new tbl_purchasereturn(); purchaseReturn.purchase_id = purchaseId; purchaseReturn.company_id = companyId; purchaseReturn.branch_id = branchId; purchaseReturn.financialyear_id = financialYearId; purchaseReturn.InvoiceNumber = txtPoNo.Text; purchaseReturn.paymentmode_id = Convert.ToInt32(ddlPaymentMode.SelectedValue); purchaseReturn.status = true; purchaseReturn.party_id = Convert.ToInt32(purchase.party_id); purchaseReturn.created_by = user_id; purchaseReturn.created_date = DateTime.Now; //Update into Purchase Payment Details tbl_PurchasePaymentDetials purchasePaymentDetail = context.tbl_PurchasePaymentDetials.Where(w => w.PurchaseId == purchaseId).FirstOrDefault(); purchasePaymentDetail.PaidAmnt = Convert.ToDecimal(txtPaidAmt.Text); purchasePaymentDetail.GivenAmnt = Convert.ToDecimal(lblGivenAmnt.Text) - Convert.ToDecimal(txtPaidAmt.Text); purchasePaymentDetail.BalanceAmnt = Convert.ToDecimal(txtBalanceAmt.Text); purchasePaymentDetail.TaxAmount = Convert.ToDecimal(lblResultTotalTaxAmnt.Text); purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblResultTotalDiscount.Text); purchasePaymentDetail.SubTotal = Convert.ToDecimal(lblResultSubTotal.Text); purchasePaymentDetail.GrandTotal = Convert.ToDecimal(lblResultGrndTotal.Text); purchasePaymentDetail.FromTable = "Return"; purchase.tbl_PurchasePaymentDetials.Add(purchasePaymentDetail); for (int i = 0; i <= gvpurchasedetails.Rows.Count - 1; i++) { int productId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[2].Text); int batchId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[4].Text); tbl_product product = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault(); tbl_purchasereturndetails purchaseReturnDetails = new tbl_purchasereturndetails(); purchaseReturnDetails.product_id = productId; purchaseReturnDetails.batch_id = batchId; purchaseReturnDetails.tax_id = product.tax_id; purchaseReturnDetails.unit_id = product.unit_id; purchaseReturnDetails.discount_amnt = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[7].Text); purchaseReturnDetails.tax_amt = gvpurchasedetails.Rows[i].Cells[9].Text; purchaseReturnDetails.quantity = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text); purchaseReturnDetails.amount = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[10].Text); purchaseReturnDetails.created_by = Convert.ToString(user_id); purchaseReturnDetails.created_date = Convert.ToDateTime(DateTime.Now); purchaseReturnDetails.status = true; tbl_stock stock = new tbl_stock(); stock = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault(); stock.qty = stock.qty - Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text); stock.modified_by = Convert.ToString(user_id); stock.modified_date = Convert.ToDateTime(DateTime.Now); purchaseReturn.tbl_purchasereturndetails.Add(purchaseReturnDetails); } context.tbl_purchasereturn.Add(purchaseReturn); context.SaveChanges(); string invoiceNumber = purchaseReturn.InvoiceNumber; ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('saved Successfully, You order number is " + invoiceNumber + "','True');", true); } catch (Exception ex) { ErrorLog.saveerror(ex); } }
protected void Save() { try { tbl_sale sale = new tbl_sale(); sale.company_id = companyId; sale.branch_id = branchId; sale.financialyear_id = financialYearId; sale.paymentmode_id = Convert.ToInt32(ddlPaymentMode.SelectedValue); sale.status = true; sale.party_id = Convert.ToInt32(ddlVendor.SelectedValue); sale.InvoiceNumber = txtSONo.Text; sale.sale_date = DateTime.Parse(txtdate.Text, new CultureInfo("en-US")); sale.created_by = User_id; sale.created_date = DateTime.Now; //insert into Sale Payment Details tbl_SalePaymentDetails salePaymentDetails = new tbl_SalePaymentDetails(); salePaymentDetails.TaxAmount = Convert.ToDecimal(lblTaxAmount.Text); salePaymentDetails.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text); salePaymentDetails.SubTotal = Convert.ToDecimal(lblsubtotal.Text); salePaymentDetails.GrandTotal = Convert.ToDecimal(lblGrandTotal.Text); salePaymentDetails.PaidAmnt = Convert.ToDecimal(txtGivenAmt.Text); salePaymentDetails.GivenAmnt = Convert.ToDecimal(txtGivenAmt.Text); salePaymentDetails.BalanceAmnt = Convert.ToDecimal(txtBalanceAmt.Text); salePaymentDetails.FromTable = "Sale"; sale.tbl_SalePaymentDetails.Add(salePaymentDetails); for (int i = 0; i <= gvSalesdetails.Rows.Count - 1; i++) { int productId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[3].Text); int batchId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[11].Text); tbl_product product = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault(); //Add into sale Details table for each product tbl_saledetails saleDetails = new tbl_saledetails(); saleDetails.product_id = productId; saleDetails.batch_id = batchId; saleDetails.tax_id = product.tax_id; saleDetails.unit_id = product.unit_id; saleDetails.tax_amt = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[9].Text); saleDetails.dicount_amt = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[7].Text); saleDetails.quantity = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[4].Text); saleDetails.amount = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[10].Text); saleDetails.created_by = Convert.ToString(User_id); saleDetails.created_date = Convert.ToDateTime(DateTime.Now); saleDetails.status = true; //Enter Details In tbl_ActualsaleTaxAndPrice : to get the original Values at the time of sale Return tbl_ActualSalesTaxAndPrice actualSale = new tbl_ActualSalesTaxAndPrice(); actualSale.product_id = productId; actualSale.status = true; actualSale.discount_percent = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[6].Text); actualSale.tax_percent = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[8].Text); actualSale.sale_rate = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[5].Text); actualSale.discount_amnt = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[7].Text); actualSale.created_by = Convert.ToString(User_id); actualSale.created_date = Convert.ToDateTime(DateTime.Now); //Add into Actual sale Tax And Return Table sale.tbl_ActualSalesTaxAndPrice.Add(actualSale); //update the Stock against the product tbl_stock stock = new tbl_stock(); stock = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault(); stock.qty = stock.qty - Convert.ToInt32(gvSalesdetails.Rows[i].Cells[4].Text); stock.modified_by = Convert.ToString(User_id); stock.modified_date = Convert.ToDateTime(DateTime.Now); sale.tbl_saledetails.Add(saleDetails); } context.tbl_sale.Add(sale); context.SaveChanges(); Session["sale_id"] = sale.sale_id; string order = sale.InvoiceNumber; ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Saved successfully, Your order number is " + order + "');", true); } catch (Exception ex) { ErrorLog.saveerror(ex); } }
//Methods------------------ protected void Save() { try { //added by ather for file attachment url string path = "~/Uploads/AttachedFiles/Purchase/"; //path without filename to save file bool fileupMsg = uploadFile(fuAttacheFile, path, ""); decimal balanceAmt = 0; // Convert.ToDecimal(txtBalanceAmt.Text); decimal paidAmnt = 0; if (!string.IsNullOrEmpty(txtPaidAmt.Text)) { paidAmnt = Convert.ToDecimal(txtPaidAmt.Text); } if (!string.IsNullOrEmpty(txtBalanceAmt.Text)) { balanceAmt = Convert.ToDecimal(txtBalanceAmt.Text); } tbl_purchase purchase = new tbl_purchase(); if (fileupMsg) { path = path + Path.GetFileName(fuAttacheFile.PostedFile.FileName); //path with filename to save in DB purchase.attachmentUrl = path; } purchase.company_id = companyId; purchase.branch_id = branchId; purchase.financialyear_id = financialYearId; purchase.InvoiceNumber = lblInvoice.Text; purchase.PaymentMode_id = Convert.ToInt32(ddlPaymentMode.SelectedValue); purchase.status = true; purchase.party_id = Convert.ToInt32(ddlVendor.SelectedValue); purchase.Po_Date = DateTime.ParseExact(txtdate.Text, "dd/MM/yyyy", new CultureInfo("en-US")); purchase.po_no = txtPONo.Text; purchase.Note = txtNotePurchase.Text; purchase.OtherExpLabel = txtOtherExpLabel.Text; purchase.other_expenses = Convert.ToDecimal(txtotherexpence.Text); purchase.created_by = user_id; purchase.created_date = DateTime.Now; //insert into Purchase Payment Details tbl_PurchasePaymentDetials purchasePaymentDetail = new tbl_PurchasePaymentDetials(); purchasePaymentDetail.TaxAmount = Convert.ToDecimal(lblTaxAmount.Text); purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text); purchasePaymentDetail.SubTotal = Convert.ToDecimal(lblsubtotal.Text); purchasePaymentDetail.GrandTotal = Convert.ToDecimal(lblGrandTotal.Text); purchasePaymentDetail.PaidAmnt = paidAmnt; purchasePaymentDetail.GivenAmnt = paidAmnt; purchasePaymentDetail.BalanceAmnt = balanceAmt; purchasePaymentDetail.CreatedDate = DateTime.Now; purchasePaymentDetail.CreatedBy = user_id; purchasePaymentDetail.FromTable = "Purchase"; purchasePaymentDetail.OtherExpLabel = txtOtherExpLabel.Text; purchasePaymentDetail.OtherExp = Convert.ToDecimal(txtotherexpence.Text); //string otherExp = txtotherexpence.Text; //if (otherExp.Contains("-")) //{ // var calculatedDiscount = Convert.ToDecimal(lblDiscountAmt.Text); // var overAllDisc = Convert.ToDecimal(otherExp.Substring(otherExp.LastIndexOf('-') + 0)); // var totalDiscount = calculatedDiscount - overAllDisc; // purchasePaymentDetail.DiscountAmount = totalDiscount; //} //else //{ // purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text); //} purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text); purchase.tbl_PurchasePaymentDetials.Add(purchasePaymentDetail); for (int i = 0; i <= gvpurchasedetails.Rows.Count - 1; i++) { int productId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[2].Text); int batchId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[4].Text); tbl_product product = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault(); var qty = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text); //Add into Purchase Details table for each product tbl_purchasedetails purchaseDetails = new tbl_purchasedetails(); purchaseDetails.product_id = productId; purchaseDetails.batch_id = batchId; // purchaseDetails.tax_id = product.tax_id; purchaseDetails.unit_id = product.unit_id; purchaseDetails.tax_amt = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[13].Text); purchaseDetails.dicount_amt = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[9].Text); purchaseDetails.quantity = qty; purchaseDetails.amount = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[14].Text); purchaseDetails.created_by = Convert.ToString(user_id); purchaseDetails.created_date = DateTime.Now; purchaseDetails.status = true; var groupId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[10].Text); DataTable taxgroupTypes = helper.LINQToDataTable(context.SelectProductTaxGroup(groupId, productId, qty)); ViewState["TotalTaxPercent"] = null; for (int j = 0; j <= taxgroupTypes.Rows.Count - 1; j++) { ViewState["TotalTaxPercent"] = taxgroupTypes.Rows[j].Field <decimal>("totalTaxPercetage"); } //insert into tax group purchase tbl_purchasetaxgroup purchaseTaxGroup = new tbl_purchasetaxgroup(); purchaseTaxGroup.group_id = groupId; purchaseTaxGroup.product_id = productId; purchaseTaxGroup.batchId = batchId; purchaseTaxGroup.totalTaxPercentage = (Decimal)ViewState["TotalTaxPercent"]; purchaseTaxGroup.group_name = gvpurchasedetails.Rows[i].Cells[11].Text; //Get the Tax type saved from db //insert into tax group detailes // var taxGroupTypes = context.tbl_productTaxGroup.Join(context.tbl_taxgroup, t => t.group_id, pt => pt.group_id, (t, pt) => new { t.group_id, pt.group_name, t.product_id }).Where(t => t.product_id == productId).ToList(); for (int j = 0; j <= taxgroupTypes.Rows.Count - 1; j++) { tbl_purchasetaxgroupdetails purchaseTaxDetails = new tbl_purchasetaxgroupdetails(); purchaseTaxDetails.type_id = taxgroupTypes.Rows[j].Field <int>("type_id"); purchaseTaxDetails.tax_percentage = taxgroupTypes.Rows[j].Field <decimal>("tax_percentage"); purchaseTaxGroup.tbl_purchasetaxgroupdetails.Add(purchaseTaxDetails); } purchase.tbl_purchasetaxgroup.Add(purchaseTaxGroup); //Enter Details In tbl_ActualPurchaseTaxAndPrice : to get the original Values at the time of Purchase Return tbl_ActualPurchaseTaxAndPrice actualPurchase = new tbl_ActualPurchaseTaxAndPrice(); actualPurchase.product_id = productId; actualPurchase.status = true; //actualPurchase.tax_percent = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[10].Text); actualPurchase.purchase_rate = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[6].Text); actualPurchase.discount_percent = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[8].Text); actualPurchase.discount_amnt = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[9].Text); actualPurchase.batch_id = batchId; actualPurchase.sale_price = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[7].Text); actualPurchase.created_by = Convert.ToString(user_id); actualPurchase.created_date = DateTime.Now; //Add into Actual Purchase Tax And Return Table purchase.tbl_ActualPurchaseTaxAndPrice.Add(actualPurchase); //Add Stock if not exist or update the Stock against the product tbl_stock stock = new tbl_stock(); if (!IsProductStockExists(companyId, branchId, productId, batchId)) { stock.company_id = companyId; stock.branch_id = branchId; stock.product_id = productId; stock.batch_id = batchId; stock.qty = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text); stock.status = true; stock.created_by = Convert.ToString(user_id); stock.created_date = DateTime.Now; context.tbl_stock.Add(stock); } else { stock = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault(); stock.qty = stock.qty + Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text); stock.modified_by = Convert.ToString(user_id); stock.modified_date = DateTime.Now; } purchase.tbl_purchasedetails.Add(purchaseDetails); } context.tbl_purchase.Add(purchase); context.SaveChanges(); string order = purchase.InvoiceNumber; Session["p_id"] = purchase.purchase_id; ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Saved successfully, Your order number is " + order + "');", true); } catch (Exception ex) { ErrorLog.saveerror(ex); } }
protected void Save() { try { //added by ather for file attachment url string path = "~/Uploads/AttachedFiles/Sale/"; //path without filename to save file bool fileupMsg = uploadFile(fuAttacheFile, path, ""); decimal balanceAmt = 0; // Convert.ToDecimal(txtBalanceAmt.Text); decimal paidAmnt = 0; if (!string.IsNullOrEmpty(txtGivenAmt.Text)) { paidAmnt = Convert.ToDecimal(txtGivenAmt.Text); } if (!string.IsNullOrEmpty(txtBalanceAmt.Text)) { balanceAmt = Convert.ToDecimal(txtBalanceAmt.Text); } tbl_sale sale = new tbl_sale(); if (fileupMsg) { path = path + Path.GetFileName(fuAttacheFile.PostedFile.FileName); //path with filename to save in DB sale.attachmentUrl = path; } sale.company_id = companyId; sale.branch_id = branchId; sale.financialyear_id = financialYearId; sale.paymentmode_id = Convert.ToInt32(ddlPaymentMode.SelectedValue); sale.status = true; sale.party_id = Convert.ToInt32(ddlVendor.SelectedValue); sale.InvoiceNumber = txtSONo.Text; sale.sale_date = DateTime.Parse(txtdate.Text, new CultureInfo("en-US")); sale.created_by = User_id; sale.created_date = DateTime.Now; sale.Note = txtSaleNote.Text; //sale.OtherExpLabel = txtOtherExpLabel.Text; //sale.other_expenses = Convert.ToDecimal(txtotherexpence.Text); //insert into Sale Payment Details tbl_SalePaymentDetails salePaymentDetails = new tbl_SalePaymentDetails(); salePaymentDetails.TaxAmount = Convert.ToDecimal(lblTaxAmount.Text); salePaymentDetails.SubTotal = Convert.ToDecimal(lblsubtotal.Text); salePaymentDetails.GrandTotal = Convert.ToDecimal(lblGrandTotal.Text); salePaymentDetails.PaidAmnt = paidAmnt; salePaymentDetails.GivenAmnt = paidAmnt; salePaymentDetails.BalanceAmnt = balanceAmt; salePaymentDetails.FromTable = "Sale"; salePaymentDetails.CreatedBy = User_id; salePaymentDetails.CreatedDate = DateTime.Now; salePaymentDetails.OtherExpLabel = txtOtherExpLabel.Text; salePaymentDetails.OtherExp = Convert.ToDecimal(txtotherexpence.Text); //string otherExp = txtotherexpence.Text; //if (otherExp.Contains("-")) //{ // var calculatedDiscount = Convert.ToDecimal(lblDiscountAmt.Text); // var overAllDisc = Convert.ToDecimal(otherExp.Substring(otherExp.LastIndexOf('-') + 0)); // var totalDiscount = calculatedDiscount - overAllDisc; // salePaymentDetails.DiscountAmount = totalDiscount; //} //else //{ // salePaymentDetails.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text); //} salePaymentDetails.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text); sale.tbl_SalePaymentDetails.Add(salePaymentDetails); for (int i = 0; i <= gvSalesdetails.Rows.Count - 1; i++) { int productId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[3].Text); int batchId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[8].Text); decimal qty = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[4].Text); tbl_product product = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault(); //Add into sale Details table for each product tbl_saledetails saleDetails = new tbl_saledetails(); saleDetails.product_id = productId; saleDetails.batch_id = batchId; saleDetails.unit_id = product.unit_id; saleDetails.tax_amt = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[10].Text); saleDetails.dicount_amt = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[7].Text); saleDetails.quantity = qty; saleDetails.amount = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[11].Text); saleDetails.created_by = Convert.ToString(User_id); saleDetails.created_date = Convert.ToDateTime(DateTime.Now); saleDetails.status = true; int groupId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[12].Text); //var PurchasegroupId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[10].Text); DataTable taxgroupTypes1 = helper.LINQToDataTable(context.SelectPurcahseProductTaxGroup(batchId, productId, qty, groupId)); ViewState["TotalTaxPercent"] = null; for (int j = 0; j <= taxgroupTypes1.Rows.Count - 1; j++) { ViewState["TotalTaxPercent"] = taxgroupTypes1.Rows[j].Field <decimal>("totalTaxPercetage"); } //insert into tax group Sale tbl_saleTaxGroup saleTaxGroup = new tbl_saleTaxGroup(); saleTaxGroup.group_id = groupId; saleTaxGroup.product_id = productId; saleTaxGroup.totalTaxPercentage = (Decimal)ViewState["TotalTaxPercent"]; saleTaxGroup.group_name = gvSalesdetails.Rows[i].Cells[9].Text; sale.tbl_saleTaxGroup.Add(saleTaxGroup); //Get the Tax type saved from db //insert into tax group detailes for (int j = 0; j <= taxgroupTypes1.Rows.Count - 1; j++) { tbl_saleTaxGroupDetailes saleTaxDetails = new tbl_saleTaxGroupDetailes(); saleTaxDetails.type_id = taxgroupTypes1.Rows[j].Field <int>("type_id"); saleTaxDetails.tax_percentage = taxgroupTypes1.Rows[j].Field <decimal>("tax_percentage"); saleTaxGroup.tbl_saleTaxGroupDetailes.Add(saleTaxDetails); } //Enter Details In tbl_ActualsaleTaxAndPrice : to get the original Values at the time of sale Return tbl_ActualSalesTaxAndPrice actualSale = new tbl_ActualSalesTaxAndPrice(); actualSale.product_id = productId; actualSale.status = true; actualSale.discount_percent = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[6].Text); actualSale.sale_rate = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[5].Text); actualSale.discount_amnt = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[7].Text); actualSale.created_by = Convert.ToString(User_id); actualSale.created_date = Convert.ToDateTime(DateTime.Now); //Add into Actual sale Tax And Return Table sale.tbl_ActualSalesTaxAndPrice.Add(actualSale); //update the Stock against the product tbl_stock stock = new tbl_stock(); stock = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault(); stock.qty = stock.qty - Convert.ToInt32(gvSalesdetails.Rows[i].Cells[4].Text); stock.modified_by = Convert.ToString(User_id); stock.modified_date = Convert.ToDateTime(DateTime.Now); sale.tbl_saledetails.Add(saleDetails); } context.tbl_sale.Add(sale); context.SaveChanges(); Session["sale_id"] = sale.sale_id; string order = sale.InvoiceNumber; ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Saved successfully, Your order number is " + order + "');", true); } catch (Exception ex) { ErrorLog.saveerror(ex); } }