Example #1
0
        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);
        }
Example #2
0
        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));
        }