public ActionResult Editar(int id) { ViewBag.Departamento = new PerDepartamento().ObtenerActivos(); Area area = new PerArea().Obtener(id); return(View(area)); }
/// <summary> /// Crea un identificador único para un determinado documento, /// usando las claves del departamento y área a que pertenezca. /// </summary> /// <param name="idDepartamento"></param> /// <param name="idArea"></param> /// <param name="conta"></param> /// <returns></returns> public static string CrearUID(int idDepartamento, int idArea, out int conta) { conta = 0; List <Documento> lst = new PerDocumento().ObtenerTodosArea(idArea); var contadores = new List <int>(); foreach (var documento in lst) { if (documento.ContadorUID.HasValue) { contadores.Add(documento.ContadorUID.Value); } } contadores = contadores.OrderByDescending(o => o).ToList(); conta = contadores.FirstOrDefault(); conta++; Departamento depa = new PerDepartamento().Obtener(idDepartamento); Area area = new PerArea().Obtener(idArea); var uid = depa.Clave + "-" + area.Clave + "-" + conta.ToString("D4"); return(uid); }
public ActionResult Index() { List <Area> lst = new PerArea().ObtenerActivas(); if (lst != null) { lst = lst.OrderBy(o => o.Nombre).ToList(); } return(View(lst)); }
public ActionResult CargarAreas(int idDepartamento) { List <Area> lst = new PerArea().ObtenerActivasDepartamento(0, idDepartamento); IEnumerable <KeyValuePair <int, string> > dic = new List <KeyValuePair <int, string> >(); if (lst != null && lst.Count > 0) { dic = from item in lst select new KeyValuePair <int, string>(item.IdArea, item.Nombre); } return(Json(dic, JsonRequestBehavior.AllowGet)); }
public ActionResult Eliminar(int id) { var pa = new PerArea(); var str = new StringBuilder(); var error = ""; str.Append("{"); str.Append("\"Eliminado\":"); try { if (id > 0) { if (pa.EnUsoPorDocumento(id)) { str.Append("0"); error = "Área en uso."; } else { pa.Eliminar(id); str.Append("1"); } } else { str.Append("0"); } } catch (Exception ex) { error = ex.Message; Debug.WriteLine(ex.ToString()); str.Append("0"); } str.Append(","); str.Append("\"Error\":"); str.Append("\"" + error + "\""); str.Append("}"); return(Json(str.ToString(), JsonRequestBehavior.AllowGet)); }
public ActionResult Nuevo(Area ar) { ViewBag.Departamento = new PerDepartamento().ObtenerActivos(); ActionResult aresult = 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"] = ""; job["Departamento"] = ""; // Este se pone por paridad con el metodo editar. if (ar != null) { ar.Nombre = ar.Nombre.Trim(); ar.Clave = ar.Clave.Trim(); var error = false; var pa = new PerArea(); // Checar si ya hay una área con este nombre en este departamento. List <Area> lst = pa.ObtenerActivasDepartamento(0, ar.Nombre, ar.IdDepartamento.GetValueOrDefault()); if (lst.Count() > 0) { error = true; foreach (var area in lst) { if (area.Nombre.ToUpper() == ar.Nombre.ToUpper()) { job["Nombre"] += "El área \"" + ar.Nombre + "\" ya existe en este departamento. "; } } } // Checar si ya hay un área con esta clave en este departamento. List <Area> lstClave = pa.ObtenerActivasDepartamentoClave(0, ar.Clave, ar.IdDepartamento.GetValueOrDefault()); if (lstClave.Count > 0) { error = true; foreach (var area in lstClave) { if (area.Clave.ToUpper() == ar.Clave.ToUpper()) { job["Clave"] += "La clave \"" + ar.Clave + "\" ya existe en este departamento. "; } } } if (error) { ViewBag.validacionDeDatos = job; aresult = View(ar); } else { try { pa.Insertar(ar); 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; aresult = View(ar); } } } return(aresult); }
public ActionResult Editar(Area ar) { ViewBag.Departamento = new PerDepartamento().ObtenerActivos(); ActionResult aresult = RedirectToAction("Index"); var job = new JObject(); job["Error"] = true; job["Clase"] = this.GetType().Name; job["Metodo"] = System.Reflection.MethodBase.GetCurrentMethod().Name; job["Nombre"] = ""; job["Departamento"] = ""; if (ar != null) { ar.Nombre = ar.Nombre.Trim(); ar.Clave = ar.Clave.Trim(); var error = false; var pa = new PerArea(); // Checar si ya hay una área con este nombre en este departamento. List <Area> lst = pa.ObtenerActivasDepartamento(ar.IdArea, ar.Nombre.Trim(), ar.IdDepartamento.GetValueOrDefault()); if (lst.Count() > 0) { error = true; foreach (var area in lst) { if (area.Nombre.ToUpper() == ar.Nombre.ToUpper().Trim()) { job["Nombre"] += "El área \"" + ar.Nombre.Trim() + "\" ya existe en este departamento. "; } } } // Checar si ya hay un área con esta clave en este departamento. List <Area> lstClave = pa.ObtenerActivasDepartamentoClave(ar.IdArea, ar.Clave, ar.IdDepartamento.GetValueOrDefault()); if (lstClave.Count > 0) { error = true; foreach (var area in lstClave) { if (area.Clave.ToUpper() == ar.Clave.ToUpper()) { job["Clave"] += "La clave \"" + ar.Clave + "\" ya existe en este departamento. "; } } } // Checar si hubo cambio de nombre, y si sí, checar si ya está siendo usada por un documento. if (pa.CambioNombre(ar)) { if (pa.EnUsoPorDocumento(ar.IdArea)) { error = true; job["Nombre"] += "No se le puede cambiar el nombre a un área que ya está siendo usada por uno o más documentos. "; } } // Checar si hubo cambio de departamento y si sí, checar si ya está siendo usada por un documento. if (pa.CambioDepartamento(ar)) { if (pa.EnUsoPorDocumento(ar.IdArea)) { error = true; job["Departamento"] += "No se le puede cambiar el departamento a un área que ya está siendo usada por uno o más documentos. "; } } if (error) { ViewBag.validacionDeDatos = job; aresult = View(ar); } else { try { pa.Editar(ar); 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; aresult = View(ar); } } } return(aresult); }
public ActionResult Editar(Documento doc, HttpPostedFileBase archivo) { string rutaLog = HttpContext.Server.MapPath("/App_Data/Log.txt"); //Utilerias.EscribirLog(rutaLog, "Usuario: " + Sesion.Current.Usuario.Nombre + " quiere editar archivo con id: " + doc.IdDocumento + "."); ViewBag.Departamento = new PerDepartamento().ObtenerActivos(); ViewBag.Area = new PerArea().ObtenerActivasDepartamento(0, doc.IdDepartamento.GetValueOrDefault()); ActionResult ar = RedirectToAction("Index"); var job = new JObject(); job["Error"] = true; job["Clase"] = this.GetType().Name; job["Metodo"] = System.Reflection.MethodBase.GetCurrentMethod().Name; job["Mensaje"] = ""; if (archivo == null || archivo.ContentLength == 0) { job["Mensaje"] += "Error al subir el archivo: El archivo esta vacío"; ViewBag.validacion = job; ar = View(doc); return(ar); } if (doc != null) { // Insertar físicamente el archivo en la carpeta correspondiente y hacer commit. try { // Se supone que las carpetas ya están creadas. Departamento depa = new PerDepartamento().Obtener(doc.IdDepartamento.GetValueOrDefault()); Area area = new PerArea().Obtener(doc.IdArea.GetValueOrDefault()); string depaArea = @"\" + depa.Nombre + @"\" + area.Nombre; string ruta = UtilSVN.ObtenerRutaCopiaTrabajo() + depaArea; string nombreArchivo = Path.GetFileName(archivo.FileName); ruta = Path.Combine(ruta, nombreArchivo); // Obtener el usuario logueado. var usr = Sesion.Current.Usuario; // Borrar el archivo para poder poner el reemplazo. System.IO.File.Delete(ruta); // Guardar en el servidor. archivo.SaveAs(ruta); string msjActualizarArchivo = UtilSVN.ActualizarArchivo(depaArea + nombreArchivo, usr.Nombre); if (msjActualizarArchivo == "Exito") { doc.Nombre = nombreArchivo; doc.Ruta = ruta; // Editar registro en la BD. new PerDocumento().Editar(doc); job["Error"] = false; } else { job["Mensaje"] += msjActualizarArchivo; } } catch (Exception ex) { Debug.WriteLine(ex.ToString()); //Utilerias.EscribirLog(rutaLog, ex.ToString()); job["Mensaje"] += "Error al subir el archivo: " + ex.Message; if (ex.InnerException != null) { job["Mensaje"] += " " + ex.InnerException.Message; } ViewBag.validacion = job; ar = View(doc); } } return(ar); }
public ActionResult Nuevo(Documento doc, HttpPostedFileBase archivo) { string rutaLog = HttpContext.Server.MapPath("/App_Data/Log.txt"); //Utilerias.EscribirLog(rutaLog, "Usuario: " + Sesion.Current.Usuario.Nombre + " quiere crear un nuevo archivo."); ViewBag.Departamento = new PerDepartamento().ObtenerActivos(); ViewBag.Area = null; ActionResult ar = RedirectToAction("Index"); var job = new JObject(); job["Error"] = true; job["Clase"] = this.GetType().Name; job["Metodo"] = System.Reflection.MethodBase.GetCurrentMethod().Name; job["Mensaje"] = ""; if (archivo == null || archivo.ContentLength == 0) { job["Mensaje"] += "Error al subir el archivo: El archivo esta vacío"; ViewBag.validacion = job; ar = View(doc); return(ar); } string nombreArchivo = Path.GetFileName(archivo.FileName); if (doc != null) { var error = false; // Checar si no existe un documento con el mismo nombre en esta area y departamento. var lst = new PerDocumento().ObtenerTodosArea(doc.IdArea.GetValueOrDefault()); foreach (var documento in lst) { if (documento.Nombre == nombreArchivo) { error = true; break; } } if (error) { job["Mensaje"] += "El nombre de archivo ya existe en esta área."; ViewBag.validacion = job; ar = View(doc); return(ar); } try { // Crear carpetas si no existen. Departamento depa = new PerDepartamento().Obtener(doc.IdDepartamento.GetValueOrDefault()); Area area = new PerArea().Obtener(doc.IdArea.GetValueOrDefault()); string depaArea = @"\" + depa.Nombre + @"\" + area.Nombre; string ruta = UtilSVN.ObtenerRutaCopiaTrabajo() + depaArea; Utilerias.CrearRuta(ruta); // Guardar en el servidor. ruta = Path.Combine(ruta, nombreArchivo); Debug.WriteLine("ruta al guardar archivo: " + ruta); archivo.SaveAs(ruta); // Obtener el usuario logueado var usr = Sesion.Current.Usuario; // Agregar archivo en el SVN. string msjAgregarArchivo = UtilSVN.AgregarArchivo(depaArea + nombreArchivo, usr.Nombre); if (msjAgregarArchivo == "Exito") { doc.Nombre = nombreArchivo; doc.Ruta = ruta; // Crear UID. int conta; string uid = Utilerias.CrearUID(doc.IdDepartamento.GetValueOrDefault(), doc.IdArea.GetValueOrDefault(), out conta); doc.UID = uid; doc.ContadorUID = conta; // Agregar registro a la BD. new PerDocumento().Insertar(doc); job["Error"] = false; } else { job["Mensaje"] += msjAgregarArchivo; } } catch (Exception ex) { Debug.WriteLine(ex.ToString()); //Utilerias.EscribirLog(rutaLog, ex.ToString()); job["Mensaje"] += "Error al subir el archivo: " + ex.Message; if (ex.InnerException != null) { job["Mensaje"] += " " + ex.InnerException.Message; } ViewBag.validacion = job; ar = View(doc); } } return(ar); }