예제 #1
0
        public ActionResult Actualizar(InstanciaView InstanciaView)
        {
            try
            {
                string id = Request.Form["txtId"];
                string nombreInstancia       = Request.Form["txtNombreInstancia"];
                int    servidorId            = int.Parse(Request.Form["cboServidor"]);
                int    ambienteId            = int.Parse(Request.Form["cboAmbiente"]);
                int    instanciaAnterior     = int.Parse(Request.Form["cboInstanciaAnt"]);
                string repositorioSubversion = Request.Form["txtRepoSubversion"];

                Instancia p = new Instancia();
                p.Id       = int.Parse(id);
                p.Nombre   = nombreInstancia;
                p.Servidor = new Servidor()
                {
                    Id = servidorId
                };
                p.Ambiente = new Ambiente()
                {
                    Id = ambienteId
                };
                p.InstanciaAnterior     = instanciaAnterior == 0 ? null : new InstanciaRepository().Obtener(instanciaAnterior);
                p.RepositorioSubversion = repositorioSubversion;

                // Esquemas
                p.Esquemas = new List <Esquema>();
                List <string> nombres = Request.Form.AllKeys.ToList().Where(param => param.Contains("nombreesquema")).ToList();
                foreach (string nombre in nombres)
                {
                    string indice        = nombre.Substring("nombreesquema".Length);
                    string nombreEsquema = Request.Form["nombreesquema" + indice];

                    if (!String.IsNullOrEmpty(Request.Form["idesquema" + indice]) || Request.Form["eliminadoesquema" + indice] == "0")
                    {
                        p.Esquemas.Add(new Esquema
                        {
                            Id       = String.IsNullOrEmpty(Request.Form["idesquema" + indice]) ? 0 : Convert.ToInt32(Request.Form["idesquema" + indice]),
                            Nombre   = nombreEsquema,
                            Eliminar = Request.Form["eliminadoesquema" + indice] == "1"
                        });
                    }
                }

                InstanciaRepository pr = new InstanciaRepository();

                p = pr.Actualizar(p);
                if (p.Id == 0)
                {
                    InstanciaView.Mensaje = "Hubo un error al crear el Instancia";
                    return(View("Crear", InstanciaView));
                }

                InstanciaView pp = new InstanciaView();
                pp.Mensaje    = "Instancia Actualizada";
                pp.Instancia  = p;
                pp.Instancias = new InstanciaRepository().Listar("", 0, 0);

                pp.Servidores = new ServidorRepository().Listar("", "", 0);
                pp.Servidores.Insert(0, new Servidor()
                {
                    Id = 0, Nombre = ""
                });

                pp.Ambientes = new AmbienteRepository().Listar("");
                pp.Ambientes.Insert(0, new Ambiente()
                {
                    Id = 0, Nombre = ""
                });



                return(View("Obtener", pp));
            }
            catch (Exception ex)
            {
                return(View("Mensaje", new InstanciaView {
                    Mensaje = ex.Message
                }));
            }
        }
예제 #2
0
        public ActionResult Crear(InstanciaView InstanciaView)
        {
            try
            {
                string nombreInstancia       = Request.Form["txtNombreInstancia"];
                int    servidorId            = int.Parse(Request.Form["cboServidor"]);
                int    ambienteId            = int.Parse(Request.Form["cboAmbiente"]);
                int    instanciaAnterior     = int.Parse(Request.Form["cboInstanciaAnt"]);
                string repositorioSubversion = Request.Form["txtRepoSubversion"];

                #region Verificar is ya existe el código del Instancia
                InstanciaRepository pr = new InstanciaRepository();
                Instancia           p  = pr.Obtener(nombreInstancia.Trim());
                if (p != null)
                {
                    InstanciaView.Instancia.Nombre   = nombreInstancia;
                    InstanciaView.Instancia.Servidor = new ServidorRepository().Obtener(servidorId);
                    InstanciaView.Instancia.Ambiente = new AmbienteRepository().Obtener(ambienteId);
                    InstanciaView.Mensaje            = "El nombre del Instancia ya existe";
                    return(View("Crear", InstanciaView));
                }
                else
                {
                    p          = new Instancia();
                    p.Nombre   = nombreInstancia;
                    p.Ambiente = new Ambiente()
                    {
                        Id = ambienteId
                    };
                    p.Servidor = new Servidor()
                    {
                        Id = servidorId
                    };
                    p.InstanciaAnterior     = instanciaAnterior == 0 ? null : new InstanciaRepository().Obtener(instanciaAnterior);
                    p.RepositorioSubversion = repositorioSubversion;

                    p = pr.Actualizar(p);
                    if (p.Id == 0)
                    {
                        InstanciaView.Mensaje = "Hubo un error al crear el Instancia";
                        return(View("Crear", InstanciaView));
                    }
                }
                #endregion
                InstanciaView pp = new InstanciaView();

                pp.Servidores = new ServidorRepository().Listar("", "", 0);
                pp.Servidores.Insert(0, new Servidor()
                {
                    Id = 0, Nombre = ""
                });

                pp.Ambientes = new AmbienteRepository().Listar("");
                pp.Ambientes.Insert(0, new Ambiente()
                {
                    Id = 0, Nombre = ""
                });

                pp.Mensaje = "Instancia Creada";
                return(View("Crear", pp));
            }
            catch (Exception ex)
            {
                return(View("Mensaje", new InstanciaView {
                    Mensaje = ex.Message
                }));
            }
        }