public ActionResult Obtener(string id) { try { var sv = new ServidorView(); sv.Mensaje = ""; var sr = new ServidorRepository(); Servidor p = sr.Obtener(id); sv.Servidor = p; AmbienteRepository ar = new AmbienteRepository(); List <Ambiente> ambientes = ar.Listar(""); ambientes.Insert(0, new Ambiente() { Id = 0, Nombre = String.Empty }); sv.Ambientes = ambientes; sv.UsuarioLogueado = ObtenerUsuario(); sv.Servidor.Usuarios = sr.ListarUsuario(sv.Servidor); return(View("Obtener", sv)); } catch (Exception ex) { return(View("Mensaje", new ServidorView { Mensaje = ex.Message })); } }
public ActionResult AsignarFormato() { try { var ar = new AmbienteRepository(); var ambientes = ar.Listar(""); var ger = new AreaRepository(); var grupos = ger.Listar(""); var fr = new FormatoRepository(); var formatos = fr.Listar(""); var sv = new SistemaView(); sv.Ambientes = ambientes; sv.Grupos = grupos; sv.Formatos = formatos; return(View(sv)); } catch (Exception ex) { return(View("Mensaje", new SistemaView { Mensaje = ex.Message })); } }
public ActionResult Obtener(string id) { try { ProyectoRepository pr = new ProyectoRepository(); SolicitudRepository sr = new SolicitudRepository(); ResponsableRepository rr = new ResponsableRepository(); TipoProyectoRepository tpr = new TipoProyectoRepository(); AmbienteRepository ar = new AmbienteRepository(); ProyectoView pv = new ProyectoView(); pv.UsuarioLogueado = ObtenerUsuario(); pv.Mensaje = ""; Proyecto p = pr.Obtener(id); pv.Proyecto = p; pv.Responsables = rr.Listar(String.Empty); pv.TipoProyectos = tpr.Listar(String.Empty); p.Solicitudes = sr.ListarPorProyecto(p.Id); pv.Ambientes = ar.Listar(String.Empty); p.Correos = pr.ListarCorreo(p); return(View("Obtener", pv)); } catch (Exception ex) { return(View("Mensaje", new ProyectoView { Mensaje = ex.Message })); } }
public ActionResult Index(AmbienteView av) { try { string nombreAmbiente = Request.Form["txtNombreAmbiente"]; bool fechaObligatoria = Request.Form["chkFechaObligatoria"] == "on"; bool apruebaCalidad = Request.Form["chkApruebaCalidad"] == "on"; bool envioPrimeraSolicitud = Request.Form["chkEnvioPrimeraSolicitud"] == "on"; AmbienteRepository ar = new AmbienteRepository(); List <Ambiente> ambientes = ar.Listar(nombreAmbiente, fechaObligatoria, apruebaCalidad, envioPrimeraSolicitud); av.Ambiente = new Ambiente(); av.Ambiente.Nombre = nombreAmbiente; av.Ambiente.FechaObligatoria = fechaObligatoria; av.Ambiente.ApruebaCalidad = apruebaCalidad; av.Ambiente.EnvioPrimeraSolicitud = envioPrimeraSolicitud; av.Ambientes = ambientes; string mensaje = ""; if (ambientes.Count == 0) { mensaje = "No existen Ambientes para el criterio de búsqueda"; } av.Mensaje = mensaje; return(View(av)); } catch (Exception ex) { return(View("Mensaje", new AmbienteView { Mensaje = ex.Message })); } }
public ActionResult Crear(ServidorView ServidorView) { try { string ipServidor = Request.Form["txtIpServidor"]; string nombreServidor = Request.Form["txtNombreServidor"]; int ambienteid = Request.Form["cboAmbienteServidor"] == null ? 0 : int.Parse(Request.Form["cboAmbienteServidor"]); string descripcion = Request.Form["txtDescripcion"]; #region Verificar is ya existe el IP del Servidor ServidorRepository pr = new ServidorRepository(); Servidor p = pr.Obtener(ipServidor.Trim()); if (p != null) { ServidorView.Servidor.Ip = ipServidor; ServidorView.Servidor.Nombre = nombreServidor; ServidorView.Servidor.Ambiente = new Ambiente(); ServidorView.Servidor.Ambiente.Id = ambienteid; ServidorView.Servidor.Descripcion = descripcion; ServidorView.Mensaje = "El IP del Servidor ya existe"; return(View("Crear", ServidorView)); } else { p = new Servidor(); p.Ip = ipServidor; p.Nombre = nombreServidor; p.Ambiente = new Ambiente(); p.Ambiente.Id = ambienteid; p.Descripcion = descripcion; p = pr.Actualizar(p); if (p.Id == 0) { ServidorView.Mensaje = "Hubo un error al crear el Servidor"; return(View("Crear", ServidorView)); } //ServidorView.Servidor = p; } #endregion ServidorView pp = new ServidorView(); AmbienteRepository ar = new AmbienteRepository(); List <Ambiente> ambientes = ar.Listar(""); ambientes.Insert(0, new Ambiente() { Id = 0, Nombre = String.Empty }); pp.Ambientes = ambientes; pp.Mensaje = "Servidor Creado"; return(View("Crear", pp)); } catch (Exception ex) { return(View("Mensaje", new ServidorView { Mensaje = ex.Message })); } }
public ActionResult Certificar() { try { ProyectoView pv = new ProyectoView(); AmbienteRepository ar = new AmbienteRepository(); pv.Ambientes = ar.Listar(""); return(View(pv)); } catch (Exception ex) { ProyectoView pv = new ProyectoView(); pv.Mensaje = ex.Message; return(View("Mensaje", pv)); } }
public ActionResult Index(ServidorView pcv) { try { string ipServidor = Request.Form["txtIpServidor"]; string nombreServidor = Request.Form["txtNombreServidor"]; int ambienteid = int.Parse(Request.Form["cboAmbienteServidor"]); string descripcion = Request.Form["txtDescripcion"]; ServidorRepository pr = new ServidorRepository(); List <Servidor> Servidores = pr.Listar(ipServidor, nombreServidor, ambienteid, descripcion); pcv.Servidor = new Servidor(); pcv.Servidor.Ip = ipServidor; pcv.Servidor.Nombre = nombreServidor; pcv.Servidor.Ambiente = new Ambiente(); pcv.Servidor.Ambiente.Id = ambienteid; pcv.Servidor.Descripcion = descripcion; AmbienteRepository ar = new AmbienteRepository(); List <Ambiente> ambientes = ar.Listar(""); ambientes.Insert(0, new Ambiente() { Id = 0, Nombre = String.Empty }); pcv.Ambientes = ambientes; pcv.Servidores = Servidores; string mensaje = ""; if (Servidores.Count == 0) { mensaje = "No existen Servidores para el criterio de búsqueda"; } pcv.Mensaje = mensaje; return(View(pcv)); } catch (Exception ex) { return(View("Mensaje", new ServidorView { Mensaje = ex.Message })); } }
public ActionResult ObjetosPendientes() { try { AmbienteRepository ar = new AmbienteRepository(); ProyectoView pv = new ProyectoView(); pv.Mensaje = String.Empty; pv.Ambientes = ar.Listar(String.Empty); pv.ProyectoMarcado = true; return(View(pv)); } catch (Exception ex) { return(View("Mensaje", new ProyectoView { Mensaje = ex.Message })); } }
public ActionResult Crear() { try { ProyectoView pv = new ProyectoView(); ResponsableRepository rr = new ResponsableRepository(); TipoProyectoRepository tpr = new TipoProyectoRepository(); AmbienteRepository ar = new AmbienteRepository(); pv.Responsables = rr.Listar(String.Empty); pv.TipoProyectos = tpr.Listar(String.Empty); pv.Ambientes = ar.Listar(String.Empty); return(View(pv)); } catch (Exception ex) { return(View("Mensaje", new ProyectoView { Mensaje = ex.Message })); } }
public ActionResult Obtener(string id) { try { ObservacionRepository or = new ObservacionRepository(); List <Observacion> observaciones = or.Listar(String.Empty); AmbienteView av = new AmbienteView(); av.Mensaje = ""; av.Observaciones = observaciones; AmbienteRepository ar = new AmbienteRepository(); Ambiente a = ar.Obtener(int.Parse(id)); a.Correos = ar.ListarCorreos(a.Id); av.Ambiente = a; return(View("Obtener", av)); } catch (Exception ex) { return(View("Mensaje", new AmbienteView { Mensaje = ex.Message })); } }
// // GET: /Servidor/ public ActionResult Index() { try { ServidorView pcv = new ServidorView(); AmbienteRepository ar = new AmbienteRepository(); List <Ambiente> ambientes = ar.Listar(""); ambientes.Insert(0, new Ambiente() { Id = 0, Nombre = String.Empty }); pcv.Ambientes = ambientes; return(View(pcv)); } catch (Exception ex) { return(View("Mensaje", new ServidorView { Mensaje = ex.Message })); } }
public ActionResult EnviarEjecutor(string id) { try { SolicitudRepository sr = new SolicitudRepository(); string estadoInicial = "Aprobado_x_RM"; string accionSiguiente = "RM.Enviar_Ejec"; string nombreUsuario = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).UserData; string codigoPase = String.Empty; string responsableEjecucion = String.Empty; Usuario ux = new UsuarioRepository().Obtener(nombreUsuario); int ventanaId = int.Parse(Request.Form["cboVentana"]); AreaRepository ar = new AreaRepository(); List <Area> areas = ar.Listar(""); string[] keys = Request.Form.AllKeys; int solicitudId; AmbienteRepository ambienteRepository = new AmbienteRepository(); List <Solicitud> solicitudes = new List <Solicitud>(); List <Ambiente> ambientes = new List <Ambiente>(); #region Validar si se están marcando solicitudes de regularización var listaReg = new List <string>(); foreach (var key in keys) { if (String.Compare(key.Substring(0, 3), "chk") == 0 && String.Compare(key, "chkTodos") != 0) { if (String.Compare(Request.Form[key], "on") == 0) { solicitudId = int.Parse(key.Substring(3)); var s = sr.Obtener(solicitudId); if (s.Regularizacion) { listaReg.Add("S" + s.Id.ToString().PadLeft(6, '0')); } } } } if (listaReg.Count() > 0) { var sbMensaje = new StringBuilder(); sbMensaje.Append("<p>No se pueden enviar al ejecutor las siguientes solicitudes de regularizacion</p>"); sbMensaje.Append("<ul>"); foreach (var item in listaReg) { sbMensaje.Append("<li>" + item + "</li>"); } sbMensaje.Append("</ul>"); var hv = new HomeView(); hv.Mensaje = sbMensaje.ToString(); return(View("Mensaje", hv)); } #endregion #region Validar si existen areas asignadas a las solicitudes marcadas para enviar StringBuilder ambienteEnviar = new StringBuilder(); StringBuilder validacion = new StringBuilder(); validacion.Append("<p>Las siguientes solicitudes no tienen asignados en sus formularios los ejecutores</p>"); validacion.Append("<ul>"); bool areasVacias = false; foreach (string key in keys) { if (String.Compare(key.Substring(0, 3), "chk") == 0 && String.Compare(key, "chkTodos") != 0 && String.Compare(Request.Form[key], "on") == 0) { solicitudId = int.Parse(key.Substring(3)); Solicitud s = sr.Obtener(solicitudId); s.Ambiente = ambienteRepository.Obtener(s.Ambiente.Id); if (!ambientes.Exists(p => p.Id == s.Ambiente.Id)) { ambientes.Add(s.Ambiente); ambienteEnviar.Append(s.Ambiente.Nombre); ambienteEnviar.Append(","); } if (!Util.Util.ExisteArea(s)) { areasVacias = true; validacion.Append("<li>S" + s.Id.ToString().PadLeft(6, '0') + "</li>"); } } } validacion.Append("</ul>"); if (areasVacias) { HomeView hv = new HomeView(); hv.Mensaje = validacion.ToString(); return(View("Mensaje", hv)); } #endregion string listaAmbientes = ambienteEnviar.ToString().Substring(0, ambienteEnviar.ToString().Length - 1); string url = string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~")); StringBuilder sb = new StringBuilder(); sb.Append("<table border='1' style='border-collapse:collapse;width:100%;font-family:Arial;font-size:12px;'>"); sb.Append("<thead>"); sb.Append("<tr><th style='background-color:#002060;color:#ffffff;'>AMBIENTE</th><th style='background-color:#002060;color:#ffffff;'>SOLICITUD</th><th style='background-color:#002060;color:#ffffff;'>RESPONSABLE DE EJECUCION</th><th style='background-color:#002060;color:#ffffff;'>ANALISTA DESARROLLO</th><th style='background-color:#002060;color:#ffffff;'>PROYECTO</th><th style='background-color:#002060;color:#ffffff;'>FORMULARIO</th></tr>"); sb.Append("</thead>"); sb.Append("<tbody>"); foreach (string key in keys) { if (String.Compare(key.Substring(0, 3), "chk") == 0 && String.Compare(key, "chkTodos") != 0) { if (String.Compare(Request.Form[key], "on") == 0) { solicitudId = int.Parse(key.Substring(3)); Solicitud s = sr.Obtener(solicitudId); solicitudes.Add(s); List <SolicitudArchivo> solicitudesArchivo = Util.Util.ListarArchivos(s); string solicitudRFC = (s.Ambiente.Final && !String.IsNullOrEmpty(s.RFC)) ? s.RFC : String.Concat("S", s.Id.ToString().PadLeft(6, '0')); foreach (SolicitudArchivo sa in solicitudesArchivo) { if (sa.Area.Correos.Count() > 0) { responsableEjecucion = sa.Area.Nombre; } else { responsableEjecucion = s.AnalistaTestProd; } //sb.Append("<tr><td>" + s.Ambiente.Nombre + "</td><td>S" + s.Id.ToString().PadLeft(6, '0') + "</td><td>" + sa.SarID + "</td><td style='background-color:" + sa.Area.Color + ";'>" + responsableEjecucion + "</td><td>" + s.AnalistaDesarrollo + "</td><td>" + s.Proyecto.Codigo + "</td>"); sb.Append("<tr><td>" + s.Ambiente.Nombre + "</td><td>" + solicitudRFC + "</td><td style='background-color:" + sa.Area.Color + ";'>" + responsableEjecucion + "</td><td>" + s.AnalistaDesarrollo + "</td><td>" + s.Proyecto.Codigo + " - " + s.Proyecto.Nombre + "</td>"); sb.Append("<td>"); foreach (Archivo archivo in sa.Archivos) { sb.Append("<a href='" + url + "/Home/ObtenerArchivo/S" + s.Id.ToString().PadLeft(6, '0') + "-" + archivo.Id.ToString() + "'>" + archivo.Nombre + "</a><br/>"); } sb.Append("</td></tr>"); } foreach (var otros in s.Aprobaciones) { if (otros.Area != null && otros.Area.Id != 0) { sb.Append("<tr><td>" + s.Ambiente.Nombre + "</td><td>" + solicitudRFC + "</td><td style='background-color:" + otros.Area.Color + ";'>" + responsableEjecucion + "</td><td>" + s.AnalistaDesarrollo + "</td><td>" + s.Proyecto.Codigo + " - " + s.Proyecto.Nombre + "</td>"); sb.Append("<td>"); sb.Append("<a href='" + url + "/Solicitud/ObtenerAprobacion/" + otros.Id.ToString() + "'>" + otros.Nombre + "</a><br/>"); sb.Append("</td></tr>"); } } string estado = sr.ObtenerEstado("RM", estadoInicial, accionSiguiente); s.Estado = estado; if (ventanaId == 0) { s.Ventana = null; s.EjecutarEmergente = false; } else if (ventanaId == -1) { s.Ventana = null; s.EjecutarEmergente = true; } else if (ventanaId > 0) { s.Ventana = new VentanaRepository().Obtener(ventanaId); s.EjecutarEmergente = false; } else { s.Ventana = null; s.EjecutarEmergente = false; } Log log = new Log(); log.Usuario = ux; log.Accion = accionSiguiente; log.Comentario = "Se envía a los ejecutores"; log.Estado = s.Estado; log.FechaHora = DateTime.Now; s.Logs.Add(log); sr.ActualizarRMSolicitadoxSol(s); s.Logs = s.Logs.OrderByDescending(p => p.FechaHora).ToList(); EstadoRepository er = new EstadoRepository(); List <Estado> estados = er.Listar(); Estado estadoX = estados.FirstOrDefault(p => p.Nombre == s.Estado); if (estadoX != null && estadoX.EnviarCorreo) { Util.Util.EnviarCorreo(url, s, "Solicitud S" + s.Id.ToString().PadLeft(6, '0') + (s.Emergente ? " EMERGENTE/Normal Urgente " : " ") + s.Estado); } } } } sb.Append("</tbody>"); sb.Append("</table>"); string ventana = String.Empty; if (ventanaId == -1) { ventana = "Emergente"; } else if (ventanaId > 0) { VentanaRepository vr = new VentanaRepository(); Ventana vv = vr.Obtener(ventanaId); string horaHasta = String.Empty; if (vv.Hasta.HasValue) { horaHasta = " - " + vv.Hasta.Value.ToString("HH:mm"); } ventana = String.Concat("Normal a horas ", vv.Desde.ToString("HH:mm"), horaHasta); } else { ventana = Util.Util.ObtenerDescripcionVentana(solicitudes); } StringBuilder sbPrevio = new StringBuilder(); var mensajeEnvio = Request.Form["txtMensajeEnvio"]; sbPrevio.Append(mensajeEnvio); //sbPrevio.Append("Estimados<br/><br/>"); //sbPrevio.Append("Se envía la relación de pases a ejecutarse en la ventana: " + ventana + "<br/><br/>"); var asunto = Request.Form["txtAsunto"]; /*StringBuilder sb2 = new StringBuilder(); * sb2.Append("Pases a ejecutar"); * sb2.Append(" Ventana: " + ventana); * sb2.Append(" - Ambiente: " + listaAmbientes.ToUpper()); */ Util.Util.EnviarCorreo(solicitudes.ToArray(), asunto, sbPrevio.ToString() + sb.ToString(), true, true, true, true, true, true, true, true); return(View("Mensaje", new HomeView { Mensaje = "Se envió el correo a los ejecutores" })); } catch (Exception ex) { return(View("Mensaje", new HomeView { Mensaje = ex.Message })); } }
public ActionResult Actualizar(ServidorView ServidorView) { try { string id = Request.Form["txtId"]; string ipServidor = Request.Form["txtIpServidor"]; string nombreServidor = Request.Form["txtNombreServidor"]; int ambienteid = int.Parse(Request.Form["cboAmbienteServidor"]); string descripcion = Request.Form["txtDescripcion"]; Servidor p = new Servidor(); p.Id = int.Parse(id); p.Ip = ipServidor; p.Nombre = nombreServidor; p.Descripcion = descripcion; p.Ambiente = new Ambiente(); p.Ambiente.Id = ambienteid; #region Usuarios var prefijo = "servidorUsuarioNombre"; var usuarios = Request.Form.AllKeys.ToList().Where(param => param.Contains(prefijo)).ToList(); foreach (var item in usuarios) { var indice = item.Substring(prefijo.Length); var nombre = Request.Form[prefijo + indice]; var clave = Request.Form["servidorUsuarioClave" + indice]; if (!String.IsNullOrEmpty(Request.Form["hdServidorUsuario" + indice]) || Request.Form["eliminadoServidorUsuario" + indice] == "0") { if (p.Usuarios == null) { p.Usuarios = new List <Usuario>(); } p.Usuarios.Add(new Usuario { Id = String.IsNullOrEmpty(Request.Form["hdServidorUsuario" + indice]) ? 0 : Convert.ToInt32(Request.Form["hdServidorUsuario" + indice]), Nombre = nombre, Clave = clave, Eliminar = Request.Form["eliminadoServidorUsuario" + indice] == "1" }); } } #endregion ServidorRepository pr = new ServidorRepository(); p = pr.Actualizar(p); if (p.Id == 0) { ServidorView.Mensaje = "Hubo un error al crear el Servidor"; return(View("Nuevo", ServidorView)); } ServidorView pp = new ServidorView(); pp.Mensaje = "Servidor Actualizado"; pp.Servidor = p; AmbienteRepository ar = new AmbienteRepository(); List <Ambiente> ambientes = ar.Listar(""); ambientes.Insert(0, new Ambiente() { Id = 0, Nombre = String.Empty }); pp.Ambientes = ambientes; pp.UsuarioLogueado = ObtenerUsuario(); pp.Servidor.Usuarios = pr.ListarUsuario(pp.Servidor); return(View("Obtener", pp)); } catch (Exception ex) { return(View("Mensaje", new ServidorView { Mensaje = ex.Message })); } }
public ActionResult Actualizar(ProyectoView proyectoView) { try { AmbienteRepository ar = new AmbienteRepository(); string id = Request.Form["txtId"]; string codigoProyecto = Request.Form["txtCodigoProyecto"]; string nombreProyecto = Request.Form["txtNombreProyecto"]; string pm = Request.Form["txtPm"]; string ptl = Request.Form["txtPtl"]; char estado = Request.Form["cboEstadoProyecto"].ToCharArray()[0]; //string fechaProduccion = Request.Form["txtFechaProdProy"]; int responsableId = int.Parse(Request.Form["cboResponsable"]); bool mejora = Request.Form["chkMejora"] == "on"; string impacto = mejora ? Request.Form["txtImpacto"] : String.Empty; int tipoProyectoId = int.Parse(Request.Form["cboTipoProyecto"]); string txtCodigoPresupuestal = Request.Form["txtCodigoPresupuestal"]; string txtCodigoAlterno = Request.Form["txtCodigoAlterno"]; Proyecto p = new Proyecto(); p.Id = int.Parse(id); p.Codigo = codigoProyecto; p.Nombre = nombreProyecto; p.Pm = pm; p.Ptl = ptl; p.Estado = estado; p.Mejora = mejora; p.Impacto = impacto; p.CodigoPresupuestal = txtCodigoPresupuestal; p.CodigoAlterno = txtCodigoAlterno; if (responsableId > 0) { p.Responsable = new Responsable { Id = responsableId }; } if (tipoProyectoId > 0) { p.TipoProyecto = new TipoProyecto { Id = tipoProyectoId }; } List <ProyectoAmbiente> proyectoAmbientes = new List <ProyectoAmbiente>(); #region Ambientes string clave = "chkAmbiente"; foreach (string key in Request.Form.AllKeys) { if (key.IndexOf(clave) >= 0) { int ambienteId = int.Parse(key.Substring(clave.Length)); string fechaBruto = Request.Form["txtFecha" + ambienteId.ToString()]; int anio = int.Parse(fechaBruto.Substring(6)); int mes = int.Parse(fechaBruto.Substring(3, 2)); int dia = int.Parse(fechaBruto.Substring(0, 2)); DateTime fechaPase = new DateTime(anio, mes, dia); ProyectoAmbiente pa = new ProyectoAmbiente(); pa.Ambiente = ar.Obtener(ambienteId); pa.FechaPase = fechaPase; proyectoAmbientes.Add(pa); } } p.Ambientes = proyectoAmbientes; #endregion #region Aplicaciones List <string> nombres = Request.Form.AllKeys.ToList().Where(param => param.Contains("nombreapp")).ToList(); foreach (string nombre in nombres) { string indice = nombre.Substring("nombreapp".Length); string nombreAplicacion = Request.Form["nombreapp" + indice]; string rutaSvn = Request.Form["svnapp" + indice]; string ide = Request.Form["ideapp" + indice]; string version = Request.Form["versionapp" + indice]; char estadoApp = Request.Form["estadoapp" + indice].ToCharArray()[0]; if (!String.IsNullOrEmpty(Request.Form["hdId" + indice]) || Request.Form["eliminadoapp" + indice] == "0") { p.Aplicaciones.Add(new Aplicacion { Id = String.IsNullOrEmpty(Request.Form["hdId" + indice]) ? 0 : Convert.ToInt32(Request.Form["hdId" + indice]), Nombre = nombreAplicacion, RutaSVN = rutaSvn, Herramienta = ide, Version = version, Eliminar = Request.Form["eliminadoapp" + indice] == "1", Estado = estadoApp }); } } #endregion #region Desarrolladores List <string> idDeses = Request.Form.AllKeys.ToList().Where(param => param.Contains("iddes")).ToList(); foreach (string idDes in idDeses) { string indice = idDes.Substring("iddes".Length); if (!String.IsNullOrEmpty(Request.Form["iddes" + indice])) { if (Request.Form["nuevo" + indice] == "0" || Request.Form["eliminadodes" + indice] == "0") { p.Desarrolladores.Add(new Desarrollador { Id = int.Parse(Request.Form["iddes" + indice]), Usuario = Request.Form["usuariodes" + indice], Correo = Request.Form["correodes" + indice], Nombre = Request.Form["nombredes" + indice], Eliminar = Request.Form["eliminadodes" + indice] == "1" }); } } } #endregion #region Correos var prefijo = "proyectocorreonombre"; var correos = Request.Form.AllKeys.ToList().Where(param => param.Contains(prefijo)).ToList(); foreach (var item in correos) { var indice = item.Substring(prefijo.Length); var correo = Request.Form[prefijo + indice]; if (!String.IsNullOrEmpty(Request.Form["hdCorreo" + indice]) || Request.Form["eliminadoCorreo" + indice] == "0") { if (p.Correos == null) { p.Correos = new List <Correo>(); } p.Correos.Add(new Correo { Id = String.IsNullOrEmpty(Request.Form["hdCorreo" + indice]) ? 0 : Convert.ToInt32(Request.Form["hdCorreo" + indice]), Direccion = correo, Eliminar = Request.Form["eliminadoCorreo" + indice] == "1" }); } } #endregion ProyectoRepository pr = new ProyectoRepository(); p = pr.Actualizar(p); if (p.Id == 0) { proyectoView.Mensaje = "Hubo un error al actualizar el proyecto"; return(View("Crear", proyectoView)); } p.Ambientes = proyectoAmbientes; ProyectoView pp = new ProyectoView(); pp.Mensaje = "Proyecto Actualizado"; pp.Proyecto = p; SolicitudRepository sr = new SolicitudRepository(); pp.Proyecto.Solicitudes = sr.ListarPorProyecto(p.Id); pp.UsuarioLogueado = ObtenerUsuario(); ResponsableRepository rr = new ResponsableRepository(); TipoProyectoRepository tpr = new TipoProyectoRepository(); pp.Responsables = rr.Listar(String.Empty); pp.TipoProyectos = tpr.Listar(String.Empty); pp.Ambientes = ar.Listar(String.Empty); p.Correos = pr.ListarCorreo(p); return(View("Obtener", pp)); } catch (Exception ex) { return(View("Mensaje", new ProyectoView { Mensaje = ex.Message })); } }
public ActionResult ObjetosPendientes(string id) { try { AmbienteRepository ar = new AmbienteRepository(); ProyectoView pv = new ProyectoView(); SolicitudRepository sr = new SolicitudRepository(); pv.Mensaje = String.Empty; pv.Ambientes = ar.Listar(String.Empty); string codigoProyecto = Request.Form["txtCodigoProyecto"]; int ambienteId = int.Parse(Request.Form["cboAmbiente"]); int tipoFormulario = int.Parse(Request.Form["cboTipoFormulario"]); //pv.Proyecto = new Proyecto { Codigo = codigoProyecto }; pv.Ambiente = new Ambiente { Id = ambienteId }; pv.TipoFormulario = tipoFormulario; ProyectoRepository pr = new ProyectoRepository(); pv.Proyecto = pr.Obtener(codigoProyecto); if (pv.Proyecto != null && pv.Proyecto.Id > 0) { int proyectoId = pv.Proyecto.Id; //UtilExcel utilExcel = new UtilExcel(); if (tipoFormulario == 1) // Base de datos { pv.Campos = pr.ListarCampos(proyectoId, ambienteId); pv.ObjetosBD = pr.ListarObjetoBD(proyectoId, ambienteId); pv.PermisosDBU = pr.ListarPermisosDBU(proyectoId, ambienteId); pv.Jobs = pr.ListarJosb(proyectoId, ambienteId); if (pv.ObjetosBD.Count == 0 && pv.Campos.Count == 0 && pv.PermisosDBU.Count == 0 && pv.Jobs.Count == 0) { pv.Mensaje = "No se encontraron registros"; } //app.Quit(); //ReleaseObject(app); } else if (tipoFormulario == 2) // Configuraciones { pv.Configuraciones = pr.ListarConfiguraciones(proyectoId, ambienteId); if (pv.Configuraciones.Count == 0) { pv.Mensaje = "No se encontraron registros"; } } return(View(pv)); } else { pv.Mensaje = String.Format("El código de proyecto {0} no existe en el CMS", codigoProyecto); return(View("Mensaje", pv)); } } catch (Exception ex) { return(View("Mensaje", new ProyectoView { Mensaje = ex.Message })); } }
public static void EnviarCorreo(Solicitud[] solicitudes, string asunto, string cuerpo, bool incluirSolicitante, bool incluirAnalistaDes, bool incluirAnalistaTest, bool incluirCopiados, bool incluirRMs, bool incluirCMs, bool incluirEjecutores, bool incluirAdicional) { try { SistemaRepository sr = new SistemaRepository(); SmtpClient client = new SmtpClient(); string correoCMS = sr.Obtener().CorreoCMS; MailAddress maDesde = new MailAddress(correoCMS, "Configuration Management System"); UsuarioRepository ur = new UsuarioRepository(); MailAddressCollection mailsTo = new MailAddressCollection(); MailAddressCollection mailsCc = new MailAddressCollection(); MailAddressCollection mailsBcc = new MailAddressCollection(); if (incluirRMs) { List <Usuario> rms = ur.Listar(String.Empty, String.Empty, false, false, false, false, true, false, false); foreach (Usuario rm in rms) { if (!String.IsNullOrEmpty(rm.Correo)) { mailsBcc = IncluirCorreo(new MailAddress(rm.Correo), mailsBcc); } } } if (incluirCMs) { List <Usuario> cms = ur.Listar(String.Empty, String.Empty, false, false, false, true, false, false, false); foreach (Usuario cm in cms) { if (!String.IsNullOrEmpty(cm.Correo)) { mailsBcc = IncluirCorreo(new MailAddress(cm.Correo), mailsBcc); } } } foreach (Solicitud s in solicitudes) { if (incluirSolicitante) { if (!String.IsNullOrEmpty(s.Solicitante.Correo)) { mailsCc = IncluirCorreo(new MailAddress(s.Solicitante.Correo), mailsCc); } } if (incluirAnalistaDes) { if (!String.IsNullOrEmpty(s.AnalistaDesarrollo)) { mailsCc = IncluirCorreo(new MailAddress(s.AnalistaDesarrollo), mailsCc); } } if (incluirAnalistaTest) { Area[] areas = Util.ObtenerAreas(s); bool enviarAnalista = false; foreach (Area area in areas) { if (area.Correos.Count == 0 && area.Id > 0) { enviarAnalista = true; break; } } if (!String.IsNullOrEmpty(s.AnalistaTestProd)) { if (enviarAnalista) { mailsTo = IncluirCorreo(new MailAddress(s.AnalistaTestProd), mailsTo); } else { mailsCc = IncluirCorreo(new MailAddress(s.AnalistaTestProd), mailsCc); } } } if (incluirCopiados) { string[] copiados = s.CopiarA.Split(new char[] { ';' }); foreach (string copia in copiados) { if (!String.IsNullOrEmpty(copia)) { mailsCc = IncluirCorreo(new MailAddress(copia), mailsCc); } } } if (incluirEjecutores) { MailAddressCollection correos = ObtenerCorreoEjecutores(s); foreach (MailAddress correo in correos) { mailsTo = IncluirCorreo(correo, mailsTo); } } if (s.Ambiente.EnvioPrimeraSolicitud && Util.EsPrimerEnvio(s)) { string[] correos = sr.Obtener().PrimeraSolicitud.Split(new char[] { ';' }); foreach (string correo in correos) { if (!String.IsNullOrEmpty(correo)) { mailsBcc = IncluirCorreo(new MailAddress(correo), mailsBcc); } } } #region Se incluyen correos configurados a nivel de proyecto var pr = new ProyectoRepository(); var proyectocorreos = pr.ListarCorreo(s.Proyecto); foreach (var cor in proyectocorreos) { mailsCc = IncluirCorreo(new MailAddress(cor.Direccion), mailsCc); } #endregion } if (incluirAdicional) { if (solicitudes.Count() > 0) { Ambiente ambiente = solicitudes[0].Ambiente; AmbienteRepository ar = new AmbienteRepository(); List <Correo> correos = ar.ListarCorreos(ambiente.Id); foreach (Correo correo in correos) { if (!String.IsNullOrEmpty(correo.Direccion)) { mailsBcc = IncluirCorreo(new MailAddress(correo.Direccion), mailsBcc); } } } } MailMessage mm = new MailMessage(); mm.From = maDesde; mm.ReplyToList.Add(sr.Obtener().ResponderA); foreach (MailAddress mail in mailsTo) { mm.To.Add(mail); } foreach (MailAddress mail in mailsCc) { mm.CC.Add(mail); } foreach (MailAddress mail in mailsBcc) { mm.Bcc.Add(mail); } mm.Subject = asunto; mm.Body = cuerpo; mm.IsBodyHtml = true; if (solicitudes.Count() == 1 && solicitudes[0].Emergente) { mm.Priority = MailPriority.High; } client.Send(mm); } catch { throw; } }
public ActionResult Crear(AmbienteView ambienteView) { try { string nombreAmbiente = Request.Form["txtNombreAmbiente"]; string abreviatura = Request.Form["txtAbreviatura"]; int orden = int.Parse(Request.Form["txtOrden"]); bool final = Request.Form["chkFinal"] == "on"; bool fechaObligatoria = Request.Form["chkFechaObligatoria"] == "on"; bool apruebaCalidad = Request.Form["chkApruebaCalidad"] == "on"; bool envioPrimeraSolicitud = Request.Form["chkEnvioPrimeraSolicitud"] == "on"; int observacionId = 0; if (Request.Form["cboObservaCalidad"] != null) { observacionId = int.Parse(Request.Form["cboObservaCalidad"]); } #region Verificar is ya existe el nombre del ambiente AmbienteRepository ar = new AmbienteRepository(); Ambiente a = ar.Obtener(nombreAmbiente.Trim()); if (a != null) { ambienteView.Ambiente.Nombre = nombreAmbiente; return(View("Nuevo", ambienteView)); } else { a = new Ambiente(); a.Nombre = nombreAmbiente; a.Abreviatura = abreviatura; a.Orden = orden; a.Final = final; a.FechaObligatoria = fechaObligatoria; a.ApruebaCalidad = apruebaCalidad; a.EnvioPrimeraSolicitud = envioPrimeraSolicitud; a.ObservaCalidad = new Observacion { Id = observacionId }; a = ar.Actualizar(a); if (a.Id == 0) { ambienteView.Mensaje = "Hubo un error al crear el ambiente"; return(View("Crear", ambienteView)); } //proyectoView.Proyecto = p; } #endregion ObservacionRepository or = new ObservacionRepository(); List <Observacion> observaciones = or.Listar(String.Empty); AmbienteView av = new AmbienteView(); av.Mensaje = "Ambiente Creado"; av.Observaciones = observaciones; return(View("Crear", av)); } catch (Exception ex) { return(View("Mensaje", new AmbienteView { Mensaje = ex.Message })); } }
public ActionResult Crear(ProyectoView proyectoView) { try { ResponsableRepository rr = new ResponsableRepository(); TipoProyectoRepository tpr = new TipoProyectoRepository(); AmbienteRepository ar = new AmbienteRepository(); string codigoProyecto = Request.Form["txtCodigoProyecto"]; string nombreProyecto = Request.Form["txtNombreProyecto"]; string pm = Request.Form["txtPm"]; string ptl = Request.Form["txtPtl"]; //string fechaProduccion = Request.Form["txtFechaProdProy"]; int responsableId = int.Parse(Request.Form["cboResponsable"]); bool mejora = Request.Form["chkMejora"] == "on"; string impacto = mejora ? Request.Form["txtImpacto"] : String.Empty; int tipoProyectoId = int.Parse(Request.Form["cboTipoProyecto"]); string txtCodigoPresupuestal = Request.Form["txtCodigoPresupuestal"]; string txtCodigoAlterno = Request.Form["txtCodigoAlterno"]; List <ProyectoAmbiente> proyectoAmbientes = new List <ProyectoAmbiente>(); string clave = "chkAmbiente"; foreach (string key in Request.Form.AllKeys) { if (key.IndexOf(clave) >= 0) { int ambienteId = int.Parse(key.Substring(clave.Length)); string fechaBruto = Request.Form["txtFecha" + ambienteId.ToString()]; int anio = int.Parse(fechaBruto.Substring(6)); int mes = int.Parse(fechaBruto.Substring(3, 2)); int dia = int.Parse(fechaBruto.Substring(0, 2)); DateTime fechaPase = new DateTime(anio, mes, dia); ProyectoAmbiente pa = new ProyectoAmbiente(); pa.Ambiente = ar.Obtener(ambienteId); pa.FechaPase = fechaPase; proyectoAmbientes.Add(pa); } } #region Verificar is ya existe el código del proyecto ProyectoRepository pr = new ProyectoRepository(); Proyecto p = pr.Obtener(codigoProyecto.Trim()); if (p != null) { proyectoView.Proyecto.Codigo = codigoProyecto; proyectoView.Proyecto.Nombre = nombreProyecto; proyectoView.Proyecto.Pm = pm; proyectoView.Proyecto.Ptl = ptl; proyectoView.Proyecto.Mejora = mejora; proyectoView.Proyecto.Impacto = impacto; proyectoView.Proyecto.CodigoPresupuestal = txtCodigoPresupuestal; proyectoView.Proyecto.CodigoAlterno = txtCodigoAlterno; proyectoView.Responsables = rr.Listar(String.Empty); proyectoView.TipoProyectos = tpr.Listar(String.Empty); if (responsableId > 0) { proyectoView.Proyecto.Responsable = new Responsable { Id = responsableId }; } if (tipoProyectoId > 0) { proyectoView.Proyecto.TipoProyecto = new TipoProyecto { Id = tipoProyectoId }; } proyectoView.Mensaje = "El código del proyecto ya existe"; return(View("Crear", proyectoView)); } else { p = new Proyecto(); p.Codigo = codigoProyecto; p.Nombre = nombreProyecto; p.Pm = pm; p.Ptl = ptl; p.Mejora = mejora; p.Impacto = impacto; if (responsableId > 0) { p.Responsable = new Responsable { Id = responsableId }; } if (tipoProyectoId > 0) { p.TipoProyecto = new TipoProyecto { Id = tipoProyectoId }; } p.CodigoPresupuestal = txtCodigoPresupuestal; p.CodigoAlterno = txtCodigoAlterno; p.Ambientes = proyectoAmbientes; p = pr.Actualizar(p); if (p.Id == 0) { proyectoView.Mensaje = "Hubo un error al crear el proyecto"; return(View("Crear", proyectoView)); } } #endregion ProyectoView pp = new ProyectoView(); pp.Mensaje = "Proyecto Creado"; pp.Responsables = rr.Listar(String.Empty); pp.TipoProyectos = tpr.Listar(String.Empty); pp.Ambientes = ar.Listar(String.Empty); return(View("Crear", pp)); } catch (Exception ex) { return(View("Mensaje", new ProyectoView { Mensaje = ex.Message })); } }
public ActionResult Actualizar(AmbienteView ambienteView) { try { string id = Request.Form["txtId"]; string nombreAmbiente = Request.Form["txtNombreAmbiente"]; string abreviatura = Request.Form["txtAbreviatura"]; int orden = int.Parse(Request.Form["txtOrden"]); bool final = Request.Form["chkFinal"] == "on"; bool fechaObligatoria = Request.Form["chkFechaObligatoria"] == "on"; bool apruebaCalidad = Request.Form["chkApruebaCalidad"] == "on"; bool envioPrimeraSolicitud = Request.Form["chkEnvioPrimeraSolicitud"] == "on"; int observacionId = 0; if (Request.Form["cboObservaCalidad"] != null) { observacionId = int.Parse(Request.Form["cboObservaCalidad"]); } Ambiente a = new Ambiente(); a.Id = int.Parse(id); a.Nombre = nombreAmbiente; a.Abreviatura = abreviatura; a.Orden = orden; a.Final = final; a.FechaObligatoria = fechaObligatoria; a.ApruebaCalidad = apruebaCalidad; a.EnvioPrimeraSolicitud = envioPrimeraSolicitud; a.ObservaCalidad = new Observacion { Id = observacionId }; AmbienteRepository ar = new AmbienteRepository(); a = ar.Actualizar(a); if (a.Id == 0) { ambienteView.Mensaje = "Hubo un error al actualizar el ambiente"; return(View("Crear", ambienteView)); } ar.EliminarCorreos(a.Id); foreach (string key in Request.Form.AllKeys) { if (key.IndexOf("txtCorreo") >= 0) { // Actualizar Correo int correoId = int.Parse(key.Substring("txtCorreo".Length)); Correo correo = new Correo(); correo.Direccion = Request.Form["txtCorreo" + correoId.ToString()]; correo.Id = correoId; ar.InsertarAmbienteCorreo(correo, a.Id); } if (key.IndexOf("txtNuevoCorreo") >= 0) { // Insertar Correo int correoId = int.Parse(key.Substring("txtNuevoCorreo".Length)); Correo correo = new Correo(); correo.Direccion = Request.Form["txtNuevoCorreo" + correoId.ToString()]; correo.Id = 0; ar.InsertarAmbienteCorreo(correo, a.Id); } } a.Correos = ar.ListarCorreos(a.Id); ObservacionRepository or = new ObservacionRepository(); List <Observacion> observaciones = or.Listar(String.Empty); AmbienteView pp = new AmbienteView(); pp.Mensaje = "Ambiente Actualizado"; pp.Ambiente = a; pp.Observaciones = observaciones; return(View("Obtener", pp)); } catch (Exception ex) { return(View("Mensaje", new AmbienteView { Mensaje = ex.Message })); } }