public List <ChallanDetails> ReadBillSubReportDetailsByChallanIdBillId(int ChallanId, string BillId) { cmd = new SqlCommand("proc_ReadBillSubReportByChallanIdBillId", con); cmd.CommandType = CommandType.StoredProcedure; con.Open(); cmd.Parameters.AddWithValue("@Challan_Id", ChallanId); cmd.Parameters.AddWithValue("@Bill_Id", BillId); SqlDataReader dr = cmd.ExecuteReader(); List <ChallanDetails> challanDetails = new List <ChallanDetails>(); while (dr.Read()) { ChallanDetails ChallanDetails = new ChallanDetails(); ChallanDetails.CategoryName = dr["CategoryName"].ToString(); ChallanDetails.SubCategoryName = dr["SubCategoryName"].ToString(); ChallanDetails.Rate = Convert.ToDecimal(dr["Rate"]); ChallanDetails.Discount = Convert.ToDecimal(dr["Discount"]); ChallanDetails.Quantity = Convert.ToDecimal(dr["Quantity"]); challanDetails.Add(ChallanDetails); } con.Close(); return(challanDetails); }
public ActionResult Index(ChallanViewModel model) { List <ChallanDetails> challanDetails = new List <ChallanDetails>(); Challan challan = new Challan(); decimal grandTotal = 0; if (ModelState.IsValid) { foreach (var item in model.lstChallanDetails) { ChallanDetails challanDetail = new ChallanDetails(); decimal amt = Convert.ToDecimal(item.Rate * item.Quantity); amt -= Convert.ToDecimal(amt * item.Discount) / 100; grandTotal += amt; challanDetail.CategoryId = item.CategoryId; challanDetail.Rate = item.Rate; challanDetail.Discount = item.Discount; challanDetail.Quantity = item.Quantity; challanDetails.Add(challanDetail); } model.AmountWithoutTax = grandTotal; if (model.vat != 0) { decimal ecess = (grandTotal * model.ecess) / 100; decimal shecess = (grandTotal * model.shecess) / 100; decimal tcs = (grandTotal * model.tcs) / 100; decimal freight = (grandTotal * model.freight) / 100; decimal vat = (grandTotal * model.vat) / 100; model.TaxAmount = ecess + shecess + tcs + freight + vat; } else { decimal ecess = (grandTotal * model.ecess) / 100; decimal shecess = (grandTotal * model.shecess) / 100; decimal tcs = (grandTotal * model.tcs) / 100; decimal freight = (grandTotal * model.freight) / 100; decimal cst = (grandTotal * model.cst) / 100; model.TaxAmount = ecess + shecess + tcs + freight + cst; } model.TotalAmount = model.AmountWithoutTax + model.TaxAmount; challan.AmountWithoutTax = model.AmountWithoutTax; challan.TaxAmount = model.TaxAmount; challan.TotalAmount = model.TotalAmount; challan.ecess = model.ecess; challan.shecess = model.shecess; challan.cst = model.cst; challan.vat = model.vat; challan.freight = model.freight; challan.tcs = model.tcs; challan.CustomerId = model.CustomerId; challan.Remarks = model.Remarks; challan.CompanyId = model.CompanyId; challanDAL.Create(challan, challanDetails); TempData["SuccessMsg"] = "Challan Created Successfully"; return(RedirectToAction("Index")); } model = GetData(); return(View(model)); }