// GET: AirRoutes/Edit/5 public ActionResult Edit(Guid?id) { if (id == Guid.Empty) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AirRoute airRoute = db.AirRoutes.FirstOrDefault(p => p.PublicId == id); if (airRoute == null) { return(HttpNotFound()); } AirRouteFormModel model = new AirRouteFormModel() { AirLineId = airRoute.AirLineId, StartAirportCode = airRoute.StartAirportCode, FinishAirportCode = airRoute.FinishAirportCode }; ViewBag.AirLineId = new SelectList(db.AirLines, "AirLineId", "Name", model.AirLineId); ViewBag.StartAirPortCode = new SelectList(db.Airports, "Code", "Name", model.StartAirportCode); ViewBag.FinishAirPortCode = new SelectList(db.Airports, "Code", "Name", model.FinishAirportCode); return(View(model)); }
public ActionResult Edit(Guid?id, [Bind(Include = "AirLineId,StartAirportCode,FinishAirportCode")] AirRouteFormModel request) { try { ViewBag.AirLineId = new SelectList(db.AirLines, "AirLineId", "Name", request.AirLineId); ViewBag.StartAirPortCode = new SelectList(db.Airports, "Code", "Name", request.StartAirportCode); ViewBag.FinishAirPortCode = new SelectList(db.Airports, "Code", "Name", request.FinishAirportCode); if (id == Guid.Empty) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (ModelState.IsValid) { if (request.StartAirportCode.Equals(request.FinishAirportCode)) { return(View(request)); } if (!db.AirLines.Where(p => p.AirLineId == request.AirLineId).Any() || !db.Airports.Where(p => p.Code.Equals(request.StartAirportCode)).Any() || !db.Airports.Where(p => p.Code.Equals(request.FinishAirportCode)).Any()) { return(View(request)); } AirRoute airRoute = db.AirRoutes.FirstOrDefault(p => p.PublicId == id); if (airRoute == null) { return(HttpNotFound()); } airRoute.AirLineId = request.AirLineId; airRoute.AirLine = db.AirLines.Find(request.AirLineId); airRoute.StartAirportCode = request.StartAirportCode; airRoute.FinishAirportCode = request.FinishAirportCode; db.Entry(airRoute).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(request)); } catch (Exception e) { ViewBag.AirLineId = new SelectList(db.AirLines, "AirLineId", "Name", request.AirLineId); ViewBag.StartAirPortCode = new SelectList(db.Airports, "Code", "Name", request.StartAirportCode); ViewBag.FinishAirPortCode = new SelectList(db.Airports, "Code", "Name", request.FinishAirportCode); return(View(request)); } }
public ActionResult Create([Bind(Include = "AirLineId,StartAirportCode,FinishAirportCode")] AirRouteFormModel request) { try { ViewBag.AirLineId = new SelectList(db.AirLines, "AirLineId", "Name", request.AirLineId); ViewBag.StartAirportCode = new SelectList(db.Airports, "Code", "Name", request.StartAirportCode); ViewBag.FinishAirportCode = new SelectList(db.Airports, "Code", "Name", request.FinishAirportCode); if (ModelState.IsValid) { if (request.StartAirportCode.Equals(request.FinishAirportCode)) { return(View(request)); } if (!db.AirLines.Where(p => p.AirLineId == request.AirLineId).Any() || !db.Airports.Where(p => p.Code.Equals(request.StartAirportCode)).Any() || !db.Airports.Where(p => p.Code.Equals(request.FinishAirportCode)).Any()) { return(View(request)); } AirRoute airRoute = new AirRoute() { PublicId = Guid.NewGuid(), AirLineId = request.AirLineId, AirLine = db.AirLines.Find(request.AirLineId), StartAirportCode = request.StartAirportCode, FinishAirportCode = request.FinishAirportCode, IsActive = true }; db.AirRoutes.Add(airRoute); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(request)); }catch { ViewBag.AirLineId = new SelectList(db.AirLines, "AirLineId", "Name", request.AirLineId); ViewBag.StartAirportCode = new SelectList(db.Airports, "Code", "Name", request.StartAirportCode); ViewBag.FinishAirportCode = new SelectList(db.Airports, "Code", "Name", request.FinishAirportCode); return(View(request)); } }