public ActionResult DeleteConfirmed(int id) { TripAddress tripAddress = db.TripAddresses.Find(id); db.TripAddresses.Remove(tripAddress); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,AddressId,TripId,Num")] TripAddress tripAddress) { if (ModelState.IsValid) { db.Entry(tripAddress).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.AddressId = new SelectList(db.Addresses, "Id", "Address1", tripAddress.AddressId); ViewBag.TripId = new SelectList(db.Trips, "Id", "Route", tripAddress.TripId); return(View(tripAddress)); }
// GET: TripAddresses/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TripAddress tripAddress = db.TripAddresses.Find(id); if (tripAddress == null) { return(HttpNotFound()); } return(View(tripAddress)); }
// GET: TripAddresses/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TripAddress tripAddress = db.TripAddresses.Find(id); if (tripAddress == null) { return(HttpNotFound()); } ViewBag.AddressId = new SelectList(db.Addresses, "Id", "Address1", tripAddress.AddressId); ViewBag.TripId = new SelectList(db.Trips, "Id", "Route", tripAddress.TripId); return(View(tripAddress)); }
public ActionResult Create([Bind(Include = "Id,DriverId,CarId,Route,Date")] Trip trip, string ids) { string[] idsString = ids.Split(','); List <int> orderIds = new List <int>(); int cargoesWeight = 0; foreach (var k in idsString) { int o = int.Parse(k); orderIds.Add(o); var ord = this.db.Orders.Where(x => x.Id == o).First(); cargoesWeight += ord.Cargoes.Sum(x => x.Weight).Value; } int carCapacity = this.db.Cars.Where(x => x.Id == trip.CarId).First().Capacity; if (cargoesWeight > carCapacity) { ModelState.AddModelError("", "Груз превышает грузоподъемность автомобиля"); ViewBag.CarId = new SelectList(db.Cars, "Id", "Name"); ViewBag.DriverId = new SelectList(db.Drivers, "Id", "Name"); ViewBag.ids = ids; return(View(trip)); } var car = this.db.Cars.Where(x => x.Id == trip.CarId).First(); if (car.Trips.Count > 0) { ModelState.AddModelError("", "Выбранный автомобиль занят на другом рейсе"); ViewBag.CarId = new SelectList(db.Cars, "Id", "Name"); ViewBag.DriverId = new SelectList(db.Drivers, "Id", "Name"); ViewBag.ids = ids; return(View(trip)); } var driver = this.db.Drivers.Where(x => x.Id == trip.DriverId).First(); if (driver.Trips.Count > 0) { ModelState.AddModelError("", "Выбранный водитель занят на другом рейсе"); ViewBag.CarId = new SelectList(db.Cars, "Id", "Name"); ViewBag.DriverId = new SelectList(db.Drivers, "Id", "Name"); ViewBag.ids = ids; return(View(trip)); } if (ModelState.IsValid) { db.Trips.Add(trip); db.SaveChanges(); string[] idss = ids.Split(','); foreach (var id in idss) { int curId = int.Parse(id); var order = db.Orders.Where(x => x.Id == curId).First(); foreach (var address in order.Addresses) { TripAddress ta = new TripAddress(); //ta.Address = address; ta.AddressId = address.Id; ta.TripId = trip.Id; db.TripAddresses.Add(ta); db.SaveChanges(); } } db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CarId = new SelectList(db.Cars, "Id", "Name", trip.CarId); ViewBag.DriverId = new SelectList(db.Drivers, "Id", "Name", trip.DriverId); return(View(trip)); }