public ActionResult Eliminar(int id) { var pd = new PerDepartamento(); var error = ""; var str = new StringBuilder(); str.Append("{"); str.Append("\"Eliminado\":"); try { if (id > 0) { // Checar si no hay un área o un documento que haga referencia a éste departamento. if (pd.EnUsoPorArea(id) || pd.EnUsoPorDocumento(id)) { str.Append("0"); error = "Departamento en uso."; Debug.WriteLine("Departamento en uso"); } else { pd.Eliminar(id); str.Append("1"); Debug.WriteLine("Eliminado"); } } else { str.Append("0"); } } catch (Exception ex) { Debug.WriteLine(ex.ToString()); error = ex.Message; str.Append("0"); } str.Append(","); str.Append("\"Error\":"); str.Append("\"" + error + "\""); str.Append("}"); return(Json(str.ToString(), JsonRequestBehavior.AllowGet)); }
public ActionResult Editar(Departamento depa) { ActionResult ar = RedirectToAction("Index"); var job = new JObject(); job["Error"] = true; job["Clase"] = this.GetType().Name; job["Metodo"] = System.Reflection.MethodBase.GetCurrentMethod().Name; job["Nombre"] = ""; job["Clave"] = ""; if (depa != null) { depa.Nombre = depa.Nombre.Trim(); depa.Clave = depa.Clave.Trim(); var error = false; var pd = new PerDepartamento(); // Checar si ya hay un departamento con este nombre. List <Departamento> lst = pd.ObtenerActivos(depa.IdDepartamento, depa.Nombre); if (lst.Count() > 0) { Debug.WriteLine("lst.Count() > 0"); error = true; foreach (var departamento in lst) { if (departamento.Nombre.ToUpper() == depa.Nombre.ToUpper()) { job["Nombre"] += "El departamento \"" + depa.Nombre + "\" ya existe. "; } } } // Checar si ya hay un departamento con esta clave. List <Departamento> lstClave = pd.ObtenerActivosClave(depa.IdDepartamento, depa.Clave); if (lstClave.Count() > 0) { error = true; foreach (var departamento in lstClave) { if (departamento.Clave.ToUpper() == depa.Clave.ToUpper()) { job["Clave"] += "La clave \"" + depa.Clave + "\" ya existe. "; } } } // Checar si hubo cambio de nombre, y si sí, checar si ya está siendo usado por un documento. if (pd.CambioNombre(depa)) { if (pd.EnUsoPorDocumento(depa.IdDepartamento)) { error = true; job["Nombre"] += "No se le puede cambiar el nombre a un departamento que ya está siendo usado por uno o más documentos. "; } } if (error) { ViewBag.validacionDeDatos = job; ar = View(depa); } else { try { pd.Editar(depa); job["Error"] = false; } catch (Exception ex) { Debug.WriteLine(ex.ToString()); job["Nombre"] += "Error al guardar el registro: " + ex.Message; if (ex.InnerException != null) { job["Nombre"] += " " + ex.InnerException.Message; } ViewBag.validacionDeDatos = job; ar = View(depa); } } } return(ar); }