public ActionResult Editar(int id) { var lista = helper.executeQuery("SELECT * FROM AGENTES WHERE Id = " + id + "", CommandType.Text, null); //Instancio un nuevo modelo para asignarle los valores que recibo del QueryString AgenteRangoViewModel agente = new AgenteRangoViewModel(); agente.AgenteId = id; agente.Apellido1 = lista.Rows[0][1].ToString(); agente.Apellido2 = lista.Rows[0][2].ToString(); agente.Nombres = lista.Rows[0][3].ToString(); agente.Cedula = Convert.ToInt64(lista.Rows[0][4].ToString()); agente.RangoId = int.Parse(lista.Rows[0][5].ToString()); agente.FechaNacimiento = DateTime.Parse(lista.Rows[0][6].ToString()); agente.Telefono = Convert.ToInt64(lista.Rows[0][7].ToString()); agente.Foto = "/Fotos/" + lista.Rows[0][3].ToString() + ".jpg"; var listaRangos = helper.executeQuery("SELECT * FROM RANGOS", CommandType.Text, null); //Igual que el modelo de AgenteRangoViewModel; creo una lista de rangos para enviarla a la vista del Edit List <Rango> Rangos = listaRangos.Rows.OfType <DataRow>().Select(x => new Rango() { Id = int.Parse(x[0].ToString()), Descripcion = x[1].ToString() }).ToList(); ViewBag.RangoId = new SelectList(Rangos, "Id", "Descripcion", agente.RangoId); // Contiene la lista que será enviada a la vista. return(View(agente)); }
public ActionResult Detalle(int id) { var agenteResult = helper.executeQuery("SELECT * FROM AGENTES a INNER JOIN RANGOS r on a.RangoId = r.Id WHERE a.Id = " + id + "", CommandType.Text, null); //Instancio un ViewModel con los datos del QueryString AgenteRangoViewModel agente = new AgenteRangoViewModel(); { agente.AgenteId = int.Parse(agenteResult.Rows[0][0].ToString()); agente.Apellido1 = agenteResult.Rows[0][1].ToString(); agente.Apellido2 = agenteResult.Rows[0][2].ToString(); agente.Nombres = agenteResult.Rows[0][3].ToString(); agente.Cedula = Convert.ToInt64(agenteResult.Rows[0][4].ToString()); agente.RangoId = int.Parse(agenteResult.Rows[0][5].ToString()); agente.FechaNacimiento = DateTime.Parse(agenteResult.Rows[0][6].ToString(), culture); agente.Telefono = Convert.ToInt64(agenteResult.Rows[0][7].ToString()); agente.Foto = "/Fotos/" + agenteResult.Rows[0][3].ToString() + ".jpg"; agente.DescripcionRango = agenteResult.Rows[0][10].ToString(); }; return(View(agente)); }