public ActionResult Crear() { var tipoMostrarArchivo = new TipoMostrarArchivo() { Status = true }; return PartialView("_Crear", tipoMostrarArchivo); }
public ActionResult Crear(TipoMostrarArchivo tipoMostrarArchivo) { try { #region Validaciones previas //validar nombre var tma = db.TipoMostrarArchivos.Select(a => new { a.TipoMostrarArchivoID, a.Nombre }).FirstOrDefault(a => a.Nombre == tipoMostrarArchivo.Nombre); if (tma != null) ModelState.AddModelError("Nombre", "Ya existe."); #endregion if (ModelState.IsValid) { //Crear la entidad tipoMostrarArchivo.TipoMostrarArchivoID = Guid.NewGuid(); db.TipoMostrarArchivos.Add(tipoMostrarArchivo); //------ Logica HISTORIAL #region Generar el historial // Generar el historial var historialLog = HistorialLogica.CrearEntidad( tipoMostrarArchivo, tipoMostrarArchivo.GetType().Name, tipoMostrarArchivo.TipoMostrarArchivoID.ToString(), User.UsuarioID, db); #endregion #region Guardar el historial //Guardar cambios si todo salio correcto if (historialLog != null) { //Guardar la entidad db.SaveChanges(); //Guardar el historial db.HistorialLogs.Add(historialLog); db.SaveChanges(); } else { throw new Exception(); } #endregion //------ //Logica para terminar la instruccion AlertaSuccess(string.Format("Tipo de mostrar archivo <b>{0}</b> creada.", tipoMostrarArchivo.Nombre), true); string url = Url.Action("Lista", "TipoMostrarArchivo"); return Json(new { success = true, url = url }); } } catch (Exception) { ModelState.AddModelError("", "Error desconocido."); } return PartialView("_Crear", tipoMostrarArchivo); }
public ActionResult Editar(TipoMostrarArchivo tipoMostrarArchivo, string Motivo) { try { #region Validaciones previas //validar el nombre var tm = db.TipoMostrarArchivos.Select(a => new { a.Nombre, a.TipoMostrarArchivoID }).FirstOrDefault(a => a.Nombre == tipoMostrarArchivo.Nombre); if (tm != null) if (tm.TipoMostrarArchivoID != tipoMostrarArchivo.TipoMostrarArchivoID) ModelState.AddModelError("Nombre", "Ya existe."); if (string.IsNullOrWhiteSpace(Motivo)) ModelState.AddModelError("Motivo", "Motivo vacio."); #endregion if (ModelState.IsValid) { //------ Logica HISTORIAL #region Generar el historial //objeto del formulario var objeto = tipoMostrarArchivo; //Objeto de la base de datos var objetoDB = db.TipoMostrarArchivos.Find(tipoMostrarArchivo.TipoMostrarArchivoID); //tabla o clase a la que pertenece var tablaNombre = objeto.GetType().Name; //llave primaria del objeto var llavePrimaria = objetoDB.TipoMostrarArchivoID.ToString(); //generar el historial var historialLog = HistorialLogica.EditarEntidad( objeto, objetoDB, tablaNombre, llavePrimaria, User.UsuarioID, db, Motivo ); #endregion #region Guardar el historial if (historialLog != null) { //Cambiar el estado a la entidad a modificada db.Entry(objetoDB).State = EntityState.Modified; //Guardamos la entidad modificada db.SaveChanges(); //Guardar el historial db.HistorialLogs.Add(historialLog); db.SaveChanges(); } else { throw new Exception(); } #endregion //------ //Logica para terminar la instruccion AlertaInfo(string.Format("Tipo de mostrar archivo: <b>{0}</b> se editó.", tipoMostrarArchivo.Nombre), true); string url = Url.Action("Lista", "TipoMostrarArchivo"); return Json(new { success = true, url = url }); } } catch (Exception) { ModelState.AddModelError("", "Error desconocido."); } return PartialView("_Editar", tipoMostrarArchivo); }