public ActionResult Create(int Id) { int FYearId = Convert.ToInt32(Session["fyearid"].ToString()); //ViewBag.Branch = db.BranchMasters.ToList(); ViewBag.Routes = db.RouteMasters.ToList(); //ViewBag.Locations = db.LocationMasters.ToList(); ViewBag.Currency = db.CurrencyMasters.ToList(); int branchid = Convert.ToInt32(Session["CurrentBranchID"].ToString()); int companyId = Convert.ToInt32(Session["CurrentCompanyID"].ToString()); ViewBag.Achead = db.AcHeads.Where(d => d.AcBranchID == branchid).ToList(); ViewBag.Drivers = db.DriverMasters.ToList(); ViewBag.Vehicles = db.VehicleMasters.ToList(); ViewBag.Countries = db.CountryMasters.ToList(); ViewBag.parceltype = db.ParcelTypes.ToList(); ViewBag.Documents = db.DocumentSetups.ToList(); ViewBag.VehicleTypes = db.VehicleTypes.ToList(); ViewBag.FwdAgents = db.SupplierMasters.Where(c => c.SupplierTypeID == 2).ToList(); ViewBag.OtherCharge = db.OtherCharges.ToList(); var transtypes = new SelectList(new[] { new { ID = "N", trans = "Select" }, new { ID = "C", trans = "Cash" }, new { ID = "B", trans = "Bank" }, }, "ID", "trans", "N"); ViewBag.StatusPaymentMode = transtypes; ViewBag.Title = "Daily Trips - Create"; TruckDetailVM1 vm1 = new TruckDetailVM1(); var truckDetail = (from d in db.TruckDetails where d.TruckDetailID == Id select d).FirstOrDefault(); if (truckDetail == null) { truckDetail = new TruckDetail(); ViewBag.VehicleType = "H"; var Truck = db.TruckDetails.ToList().LastOrDefault(); var MaxId = 1000; if (Truck == null) { MaxId = 1; } else { MaxId = Truck.TruckDetailID + 1; } var ReceiptNo = "TDS-" + MaxId; PickupRequestDAO _dao = new PickupRequestDAO(); vm1.ReceiptNo = _dao.GetTDSReceiptNo(companyId, branchid, "H", FYearId); vm1.VehicleType = "H"; vm1.CurrencyIDRent = Convert.ToInt32(Session["CurrencyId"].ToString()); vm1.PaymentCurrencyID = Convert.ToInt32(Session["CurrencyId"].ToString()); var ac = db.AcHeadControls.Where(cc => cc.Pagecontrol == 1 && cc.AccountName == "Rent Account").FirstOrDefault(); if (ac != null) { vm1.RentAcHeadID = ac.AccountHeadID; vm1.RentAcHead = db.AcHeads.Where(cc => cc.AcHeadID == vm1.RentAcHeadID).FirstOrDefault().AcHead1; } List <TruckDetailOtherChargeVM> otherchargesvm = new List <TruckDetailOtherChargeVM>(); vm1.otherchargesVM = otherchargesvm; ViewBag.EditMode = "false"; } else { ViewBag.EditMode = "true"; List <TruckDetailOtherChargeVM> otherchargesvm = new List <TruckDetailOtherChargeVM>(); ViewBag.Title = "Daily Trips - Modify"; vm1.TruckDetailID = truckDetail.TruckDetailID; vm1.VehicleType = truckDetail.VehicleType; vm1.DriverName = truckDetail.DriverName; vm1.ReceiptNo = truckDetail.ReceiptNo; vm1.TDDate = truckDetail.TDDate; vm1.DriverID = truckDetail.DriverID; vm1.VehicleID = truckDetail.VehicleID; vm1.RouteID = truckDetail.RouteID; vm1.OriginName = truckDetail.OriginName; vm1.DestinationName = truckDetail.DestinationName; vm1.RegNo = truckDetail.RegNo; vm1.Rent = truckDetail.Rent; vm1.RentAcHeadID = truckDetail.RentAcHeadID; vm1.RentAcHead = db.AcHeads.Find(truckDetail.RentAcHeadID).AcHead1; vm1.ParcelTypeId = truckDetail.ParcelTypeId; vm1.TDRemarks = truckDetail.TDRemarks; vm1.VehicleType = truckDetail.VehicleType; vm1.OtherCharges = truckDetail.OtherCharges; vm1.StatusPaymentMode = truckDetail.StatusPaymentMode.Trim(); vm1.ChequeDate = truckDetail.ChequeDate; vm1.ChequeNo = truckDetail.ChequeNo; vm1.ConsignmentNoNote = truckDetail.ConsignmentNoNote; vm1.Amount = truckDetail.Amount; vm1.FYearID = truckDetail.FYearID; vm1.CurrencyIDRent = truckDetail.CurrencyIDRent; vm1.PaymentCurrencyID = truckDetail.PaymentCurrencyID; vm1.PaymentHeadID = truckDetail.PaymentHeadID; vm1.Remarks = truckDetail.Remarks; if (truckDetail.PaymentHeadID != null) { vm1.PaymentHead = db.AcHeads.Find(truckDetail.PaymentHeadID).AcHead1; } if (truckDetail.TDcontrolAcHeadID != null) { vm1.TDcontrolAcHeadID = truckDetail.TDcontrolAcHeadID; vm1.TDcontrolAcHead = db.AcHeads.Find(truckDetail.TDcontrolAcHeadID).AcHead1; } if (truckDetail.VehicleType == "F") { vm1.ForwardAgentID = truckDetail.ForwardAgentID; } otherchargesvm = (from c in db.TruckDetailOtherCharges join o in db.OtherCharges on c.OtherChargeID equals o.OtherChargeID where c.TruckDetailId == Id select new TruckDetailOtherChargeVM { TruckDetailId = Id, OtherChargeID = c.OtherChargeID, OtherChargeName = o.OtherCharge1, Amount = c.Amount }).ToList(); if (otherchargesvm == null) { otherchargesvm = new List <TruckDetailOtherChargeVM>(); vm1.otherchargesVM = otherchargesvm; } else { vm1.otherchargesVM = otherchargesvm; } } return(View(vm1)); }
public ActionResult Create(TruckDetailVM1 data) { try { int branchid = Convert.ToInt32(Session["CurrentBranchID"].ToString()); int companyId = Convert.ToInt32(Session["CurrentCompanyID"].ToString()); int FYearId = Convert.ToInt32(Session["fyearid"].ToString()); var TruckDetail = new TruckDetail(); var TruckDetailID = Convert.ToInt32(data.TruckDetailID); PickupRequestDAO _dao = new PickupRequestDAO(); TruckDetail = (from d in db.TruckDetails where d.TruckDetailID == TruckDetailID select d).FirstOrDefault(); if (TruckDetail == null) { TruckDetail = new TruckDetail(); var Truck = db.TruckDetails.ToList().LastOrDefault(); var MaxId = 1000; if (Truck == null) { MaxId = 1; } else { MaxId = Truck.TruckDetailID + 1; } TruckDetail.ReceiptNo = _dao.GetTDSReceiptNo(companyId, branchid, data.VehicleType, FYearId); } TruckDetail.VehicleID = Convert.ToInt32(data.VehicleID); var vehicle = db.VehicleMasters.Find(data.VehicleID); TruckDetail.FYearID = FYearId; TruckDetail.AcCompanyID = companyId; TruckDetail.BranchID = branchid; TruckDetail.VehicleType = Convert.ToString(data.VehicleType); if (TruckDetail.VehicleType == "F") { TruckDetail.ForwardAgentID = Convert.ToInt32(data.ForwardAgentID); TruckDetail.RegNo = Convert.ToString(data.RegNo); } else { TruckDetail.ForwardAgentID = null; TruckDetail.RegNo = vehicle.RegistrationNo; TruckDetail.DriverID = Convert.ToInt32(data.DriverID); TruckDetail.DriverName = Convert.ToString(data.DriverName); } TruckDetail.TDDate = Convert.ToDateTime(data.TDDate); if (data.StatusPaymentMode != null) { TruckDetail.StatusPaymentMode = Convert.ToString(data.StatusPaymentMode); } else { TruckDetail.StatusPaymentMode = "N"; } if (TruckDetail.StatusPaymentMode.Trim() == "B") { if (data.ChequeNo != null) { TruckDetail.ChequeNo = Convert.ToString(data.ChequeNo); } try { if (data.ChequeDate != null) { TruckDetail.ChequeDate = Convert.ToDateTime(data.ChequeDate); } } catch (Exception ex1) { TruckDetail.ChequeDate = null; } } if (data.RouteID != null) { TruckDetail.RouteID = Convert.ToInt32(data.RouteID); } TruckDetail.OriginName = Convert.ToString(data.OriginName); TruckDetail.DestinationName = Convert.ToString(data.DestinationName); TruckDetail.ParcelTypeId = data.ParcelTypeId; TruckDetail.Rent = Convert.ToDecimal(data.Rent); TruckDetail.CurrencyIDRent = Convert.ToInt32(data.CurrencyIDRent); TruckDetail.OtherCharges = Convert.ToDecimal(data.OtherCharges); TruckDetail.ConsignmentNoNote = Convert.ToString(data.ConsignmentNoNote); //TruckDetail.CurrencyRent = Convert.ToDecimal(data.CurrencyRent); TruckDetail.RentAcHeadID = Convert.ToInt32(data.RentAcHeadID); TruckDetail.TDRemarks = Convert.ToString(data.TDRemarks); if (TruckDetail.StatusPaymentMode.Trim() == "C" || TruckDetail.StatusPaymentMode.Trim() == "B") { TruckDetail.PaymentHeadID = Convert.ToInt32(data.PaymentHeadID); TruckDetail.TDcontrolAcHeadID = Convert.ToInt32(data.TDcontrolAcHeadID); TruckDetail.CurrencyAmount = Convert.ToDecimal(data.Amount); TruckDetail.Amount = Convert.ToDecimal(data.Amount); TruckDetail.PaymentCurrencyID = Convert.ToInt32(data.PaymentCurrencyID); TruckDetail.Remarks = Convert.ToString(data.Remarks); } else { TruckDetail.StatusPaymentMode = "N"; } TruckDetail.IsDeleted = false; if (TruckDetail.TruckDetailID == 0) { db.TruckDetails.Add(TruckDetail); } db.SaveChanges(); if (data.TruckDetailID > 0) { var details = (from d in db.TruckDetailOtherCharges where d.TruckDetailId == data.TruckDetailID select d).ToList(); db.TruckDetailOtherCharges.RemoveRange(details); db.SaveChanges(); } //Other charge data update into inscanothercharge table if (data.otherchargesVM != null) { for (int j = 0; j < data.otherchargesVM.Count; j++) { if (data.otherchargesVM[j].deleted == false) { //InscanOtherCharge objOtherCharge = new InscanOtherCharge(); int oid = Convert.ToInt32(data.otherchargesVM[j].OtherChargeID); TruckDetailOtherCharge objOtherCharge = db.TruckDetailOtherCharges.Where(cc => cc.TruckDetailId == TruckDetail.TruckDetailID && cc.OtherChargeID == oid).FirstOrDefault(); if (objOtherCharge == null) { objOtherCharge = new TruckDetailOtherCharge(); var maxid = (from c in db.TruckDetailOtherCharges orderby c.TruckDetailOtherChargeID descending select c.TruckDetailOtherChargeID).FirstOrDefault(); objOtherCharge.TruckDetailOtherChargeID = maxid + 1; objOtherCharge.TruckDetailId = TruckDetail.TruckDetailID; objOtherCharge.OtherChargeID = data.otherchargesVM[j].OtherChargeID; objOtherCharge.Amount = data.otherchargesVM[j].Amount; db.TruckDetailOtherCharges.Add(objOtherCharge); db.SaveChanges(); db.Entry(objOtherCharge).State = EntityState.Detached; } else { //objOtherCharge.OtherChargeID = v.otherchargesVM[j].OtherChargeID; objOtherCharge.Amount = data.otherchargesVM[j].Amount; db.Entry(objOtherCharge).State = EntityState.Modified; db.SaveChanges(); db.Entry(objOtherCharge).State = EntityState.Detached; } } } //var otherchargeitems = db.TruckDetailOtherCharges.Where(cc => cc.TruckDetailId==data.TruckDetailID); //var exportdetailsid = data.otherchargesVM.Select(s => s.OtherChargeID).ToList(); //foreach (var e_details in otherchargeitems) //{ // var _found = data.otherchargesVM.Where(cc => cc.OtherChargeID == e_details.OtherChargeID).FirstOrDefault(); // if (_found == null) // { // db.Entry(e_details).State = EntityState.Deleted; // } //} //db.SaveChanges(); } /// other charges saving _dao.GenerateDailyTripsPosting(TruckDetail.TruckDetailID); TempData["SuccessMsg"] = "Daily Trips Saved Successfully!"; return(RedirectToAction("Index")); } catch (Exception e) { ViewBag.parceltype = db.ParcelTypes.ToList(); ViewBag.Routes = db.RouteMasters.ToList(); ViewBag.Currency = db.CurrencyMasters.ToList(); int branchid = Convert.ToInt32(Session["CurrentBranchID"].ToString()); ViewBag.Achead = db.AcHeads.Where(d => d.AcBranchID == branchid).ToList(); ViewBag.Documents = db.DocumentSetups.ToList(); ViewBag.VehicleTypes = db.VehicleTypes.ToList(); ViewBag.FwdAgents = db.SupplierMasters.Where(c => c.SupplierTypeID == 2).ToList(); ViewBag.OtherCharge = db.OtherCharges.ToList(); TempData["ErrorMsg"] = e.Message; if (data.otherchargesVM == null) { data.otherchargesVM = new List <TruckDetailOtherChargeVM>(); } return(View(data)); } }