public ActionResult Create(Vuelo vuelo, String hora) { DateTime fechaHoy=DateTime.Now.Date; String[] hp=hora.Split(':'); List<Vuelo> lista = db.Vuelo.ToList(); String[] cp=null; String[] ce =null; int cont=1; foreach (Vuelo v in lista) { cp = v.HoraSalida.Split(':'); ce = v.HoraSalida.Split(' '); int hor = Convert.ToInt32(hp[0]); DateTime horv = Convert.ToDateTime(ce[0]); if (v.AvionID == vuelo.AvionID && v.FechaSalida == fechaHoy) { if (Convert.ToInt32(cp[0]) >= hor && Convert.ToInt32(cp[0]) <= horv.AddHours(v.Duracion).Hour) { cont++; } } } if (db.Vuelo.Count(v => v.AvionID == vuelo.AvionID && v.FechaSalida == fechaHoy) >= 3){ ModelState.AddModelError("", "No se pudo crear mas de tres vuelos de un mismo avion en un mismo dia"); } else if (cont >= 2) { ModelState.AddModelError("", "No se pudo crear mas de un vuelo en un mismo dia en el mismo horario"); } else { vuelo.HoraSalida = hora; db.Vuelo.Add(vuelo); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.ProcedenciaID = new SelectList(db.Aeropuerto, "Id", "Nombre", vuelo.ProcedenciaID); ViewBag.DestinoID = new SelectList(db.Aeropuerto, "Id", "Nombre", vuelo.DestinoID); ViewBag.AvionID = new SelectList(db.Avion, "Id", "Marca", vuelo.AvionID); return View(vuelo); }
public ActionResult Edit(Vuelo vuelo) { if (ModelState.IsValid) { db.Entry(vuelo).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.ProcedenciaID = new SelectList(db.Aeropuerto, "Id", "Nombre", vuelo.ProcedenciaID); ViewBag.DestinoID = new SelectList(db.Aeropuerto, "Id", "Nombre", vuelo.DestinoID); ViewBag.AvionID = new SelectList(db.Avion, "Id", "Marca", vuelo.AvionID); return View(vuelo); }