public ActionResult Create(CustRateVM v)
        {
            try
            {
                CustomerRate r = new CustomerRate();
                r.CustomerRateTypeID = v.ContractRateTypeID;
                r.CourierServiceID   = v.ProductTypeID;
                r.ZoneChartID        = v.ZoneChartID;
                r.FAgentID           = v.FAgentID;
                r.BaseWeight         = v.BaseWt;
                r.WithTax            = v.withtax;
                r.WithoutTax         = v.withouttax;
                r.AdditionalCharges  = v.AdditionalCharges;

                r.BaseRate = v.BaseRate;

                db.CustomerRates.Add(r);
                db.SaveChanges();


                if (v.CustRateDetails != null)
                {
                    foreach (var item in v.CustRateDetails)
                    {
                        CustomerRateDet a = new CustomerRateDet();

                        a.CustomerRateID       = r.CustomerRateID;
                        a.AdditionalWeightFrom = item.AddWtFrom;
                        a.AdditionalWeightTo   = item.AddWtTo;
                        a.IncrementalWeight    = item.IncrWt;
                        a.AdditionalRate       = item.AddRate;

                        db.CustomerRateDets.Add(a);
                        db.SaveChanges();
                    }
                }

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
            }

            ViewBag.CustRate        = db.CustomerRateTypes.ToList();
            ViewBag.ProductType     = db.ProductTypes.ToList();
            ViewBag.ForwardingAgent = db.ForwardingAgentMasters.ToList();
            ViewBag.Zones           = db.ZoneCharts.ToList();
            return(View());
        }
        public ActionResult Edit(CustRateVM v)
        {
            CustomerRate r = new CustomerRate();

            r.CustomerRateID     = v.CustomerRateID;
            r.CustomerRateTypeID = v.ContractRateTypeID;
            r.CourierServiceID   = v.ProductTypeID;
            r.ZoneChartID        = v.ZoneChartID;
            r.FAgentID           = v.FAgentID;
            r.BaseWeight         = v.BaseWt;
            r.WithTax            = v.withtax;
            r.WithoutTax         = v.withouttax;
            r.AdditionalCharges  = v.AdditionalCharges;

            r.BaseRate = v.BaseRate;

            db.Entry(r).State = EntityState.Modified;
            db.SaveChanges();

            var data = (from c in db.CustomerRateDets where c.CustomerRateID == v.CustomerRateID select c).ToList();

            foreach (var item in data)
            {
                db.CustomerRateDets.Remove(item);
                db.SaveChanges();
            }

            foreach (var item in v.CustRateDetails)
            {
                CustomerRateDet a = new CustomerRateDet();

                a.CustomerRateID       = r.CustomerRateID;
                a.AdditionalWeightFrom = item.AddWtFrom;
                a.AdditionalWeightTo   = item.AddWtTo;
                a.IncrementalWeight    = item.IncrWt;
                a.AdditionalRate       = item.AddRate;

                db.CustomerRateDets.Add(a);
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }