public ActionResult CreateEdit(RegistroActividad registro) { if (ModelState.IsValid && ValidarRegistro(registro)) { if (registro.IdRegistro == 0) { registro.Activo = true; db.RegistroActividad.Add(registro); db.SaveChanges(); return(RedirectToAction("CreateEdit", new { id = registro.IdRegistro })); } else { RegistroActividad reg = db.RegistroActividad.First(x => x.IdRegistro == registro.IdRegistro); reg.Idvehiculo = registro.Idvehiculo; reg.IdChofer = registro.IdChofer; reg.Fecha = registro.Fecha; reg.KmInicial = registro.KmInicial; reg.KmFinal = registro.KmFinal; db.SaveChanges(); return(RedirectToAction("CreateEdit", new { id = reg.IdRegistro })); } } Usuario usu = (Usuario)Session["Usuario"]; ViewBag.IdChofer = new SelectList(db.Usuario.Where(x => x.IdUsuario == usu.IdUsuario), "IdUsuario", "Nombres", registro.IdChofer); ViewBag.IdVehiculo = new SelectList(db.VehiculoChofer.Where(x => x.IdChofer == usu.IdUsuario && x.Activo == true).Select(x => new { idVehiculo = x.Vehiculo.idVehiculo, placa = x.Vehiculo.placaLetras + x.Vehiculo.placaNumeros }), "idVehiculo", "placa", registro.Idvehiculo); return(View(registro)); //return RedirectToAction("Index"); }
public ActionResult CreateEdit(int?id = null) { if (Session["Notificacion"] != null) { ViewBag.Notificacion = Session["Notificacion"]; Session["Notificacion"] = null; } Usuario usu = (Usuario)Session["Usuario"]; if (id == null) { ViewBag.IdChofer = new SelectList(db.Usuario.Where(x => x.IdUsuario == usu.IdUsuario), "IdUsuario", "Nombres"); ViewBag.IdVehiculo = new SelectList(db.VehiculoChofer.Where(x => x.IdChofer == usu.IdUsuario && x.Activo == true).Select(x => new { idVehiculo = x.Vehiculo.idVehiculo, placa = x.Vehiculo.placaLetras + x.Vehiculo.placaNumeros }), "idVehiculo", "placa"); RegistroActividad nuevo = new RegistroActividad(); nuevo.Fecha = DateTime.Today; return(View(nuevo)); } else { RegistroActividad registroActividad = db.RegistroActividad.Where(x => x.IdRegistro == id).Include(x => x.RegistroActividadDetalle).First(); if (registroActividad == null) { return(HttpNotFound()); } ViewBag.IdChofer = new SelectList(db.Usuario.Where(x => x.IdUsuario == usu.IdUsuario), "IdUsuario", "Nombres", registroActividad.IdChofer); ViewBag.IdVehiculo = new SelectList(db.VehiculoChofer.Where(x => x.IdChofer == usu.IdUsuario && x.Activo == true).Select(x => new { idVehiculo = x.Vehiculo.idVehiculo, placa = x.Vehiculo.placaLetras + x.Vehiculo.placaNumeros }), "idVehiculo", "placa", registroActividad.Idvehiculo); return(View(registroActividad)); } }
public async Task <ActionResult> DeleteConfirmed(int id) { RegistroActividad registroActividad = await db.RegistroActividad.FindAsync(id); //db.RegistroActividad.Remove(registroActividad); registroActividad.Activo = false; await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RegistroActividad registroActividad = await db.RegistroActividad.FindAsync(id); if (registroActividad == null) { return(HttpNotFound()); } return(View(registroActividad)); }
bool ValidarRegistro(RegistroActividad registro) { bool resp = false; if (registro.IdRegistro == 0) { resp = db.RegistroActividad .Where(x => x.IdChofer == registro.IdChofer && x.Idvehiculo == registro.Idvehiculo && x.Fecha == registro.Fecha && x.Activo == true ).Any(); } else { resp = db.RegistroActividad .Where(x => x.IdChofer == registro.IdChofer && x.Idvehiculo == registro.Idvehiculo && x.Fecha == registro.Fecha && x.Activo == true && x.IdRegistro != registro.IdRegistro ).Any(); } if (!resp) { if (registro.KmInicial <= registro.KmFinal) { return(true); } else { ModelState.AddModelError("KmInicial", "El Km inicial no puede ser mayor al final."); return(false); } } else { ModelState.AddModelError("Fecha", "Ya existe un registro activo con la misma fecha."); return(false); } }