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
                }));
            }
        }
Beispiel #2
0
        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
                }));
            }
        }
Beispiel #3
0
        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
                }));
            }
        }
Beispiel #4
0
        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
                }));
            }
        }
Beispiel #6
0
 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
                }));
            }
        }
Beispiel #8
0
 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
         }));
     }
 }
Beispiel #9
0
 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
         }));
     }
 }
Beispiel #10
0
 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
         }));
     }
 }
Beispiel #11
0
        //
        // 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
                }));
            }
        }
Beispiel #12
0
        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
                }));
            }
        }
Beispiel #13
0
        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
                }));
            }
        }
Beispiel #14
0
        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
                }));
            }
        }
Beispiel #15
0
        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
                }));
            }
        }
Beispiel #16
0
        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;
            }
        }
Beispiel #17
0
        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
                }));
            }
        }
Beispiel #18
0
        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
                }));
            }
        }
Beispiel #19
0
        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
                }));
            }
        }