public ActionResult InsertarContactoPgSQL(String txtDpi, String txtNombre, String txtApellido, String txtDireccion, String txtTelefonoCasa, String txtTelefonoMovil, String txtNombrecontacto, String txtTelefonoContacto) { Contacto newContacto = new Contacto(); newContacto.dpi = txtDpi; newContacto.nombre = txtNombre; newContacto.apellido = txtApellido; newContacto.direccion = txtDireccion; newContacto.telefonoCasa = txtTelefonoCasa; newContacto.telefonoMovil = txtTelefonoMovil; newContacto.nombreContacto = txtNombrecontacto; newContacto.numeroContacto = txtTelefonoContacto; int rowsAffected = conexionPgSQL.InsertarContacto(newContacto); return RedirectToAction("Index", "Home", new { load = "pgsql" }); }
/// <summary> /// Arma la lista de contactos con la información obtenida de la DB de PostgreSQL /// </summary> /// <param name="data">DataReader obtenido de la consulta select</param> /// <returns>Lista de los contactos con su información respectiva</returns> public List<Contacto> ArmarListaContactosPgSQL(NpgsqlDataReader data) { List<Contacto> listaContactos = new List<Contacto>(); // Lee la información y la almacena en cada campo del modelo de vista while (data.Read()) { Contacto contacto = new Contacto(); contacto.dpi = (String)data["dpi"] ?? String.Empty; contacto.nombre = (String)data["nombre"] ?? String.Empty; contacto.apellido = (String)data["apellido"] ?? String.Empty; contacto.direccion = (String)data["direccion"] ?? String.Empty; contacto.telefonoCasa = (String)data["telefono_casa"] ?? String.Empty; contacto.telefonoMovil = (String)data["telefono_movil"] ?? String.Empty; contacto.nombreContacto = (String)data["nombre_contacto"] ?? String.Empty; contacto.numeroContacto = (String)data["numero_telefono_contacto"] ?? String.Empty; listaContactos.Add(contacto); } return listaContactos; }
public ActionResult pgsqlUpdateDelete(Contacto modContacto) { DataHelper dataHelper = new DataHelper(); if (modContacto.dpi != null) { ViewBag.ContactoModificar = modContacto; } List<Contacto> listaContactos = new List<Contacto>(); // Arma la lista de los contactos obtenidos en la base de datos de PostgreSQL listaContactos = dataHelper.ArmarListaContactosPgSQL(conexionPgSQL.ObtenerRegistros()).OrderBy(lc => lc.dpi).ThenBy(lc => lc.nombre).ThenBy(lc => lc.apellido).ToList(); conexionPgSQL.Close(); ViewBag.ListaContactos = listaContactos; return View(); }
public ActionResult ModificarContactoPgSQL(String dpiOriginal, String txtDpi2, String txtNombre2, String txtApellido2, String txtDireccion2, String txtTelefonoCasa2, String txtTelefonoMovil2, String txtNombrecontacto2, String txtTelefonoContacto2) { Contacto contacto = new Contacto(); contacto.dpi = txtDpi2; contacto.nombre = txtNombre2; contacto.apellido = txtApellido2; contacto.direccion = txtDireccion2; contacto.telefonoCasa = txtTelefonoCasa2; contacto.telefonoMovil = txtTelefonoMovil2; contacto.nombreContacto = txtNombrecontacto2; contacto.numeroContacto = txtTelefonoContacto2; int rowsAffected = conexionPgSQL.ModificarContacto(dpiOriginal, contacto); return RedirectToAction("Index", "Home", new { load = "pgsql" }); }
/// <summary> /// Metodo para modificar un contacto de la base de datos PostrgreSQL /// </summary> /// <param name="dpi">Numero de DPI que identifique al contacto que se desea modificar</param> /// <param name="contacto">Modelo de contacto con los posibles nuevos valores</param> /// <returns>Cantidad de tuplas afectadas</returns> public int ModificarContacto(String dpi, Contacto contacto) { rowsAffected = 0; String query = "UPDATE contacto SET dpi='{0}', nombre='{1}', apellido='{2}', direccion='{3}', telefono_casa='{4}', telefono_movil='{5}', nombre_contacto='{6}', numero_telefono_contacto='{7}' WHERE dpi='{8}'"; query = String.Format(query, contacto.dpi, contacto.nombre, contacto.apellido, contacto.direccion, contacto.telefonoCasa, contacto.telefonoMovil, contacto.nombreContacto, contacto.numeroContacto, dpi); //Open connection if (this.Open()) { // Crea la sentencia de ejecución del query cmd = new NpgsqlCommand(query, conexion); // Ejecuta la sentencia rowsAffected = cmd.ExecuteNonQuery(); // Si la sentencia se ejecuta correctamente, se arma la linea a guardar en el log de sentencias if (rowsAffected > 0) { String queryAlterno = "INSERT INTO contacto (dpi, nombre, apellido, direccion, telefono_casa, telefono_movil, nombre_contacto, numero_telefono_contacto) VALUES('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}')"; queryAlterno = String.Format(queryAlterno, contacto.dpi, contacto.nombre, contacto.apellido, contacto.direccion, contacto.telefonoCasa, contacto.telefonoMovil, contacto.nombreContacto, contacto.numeroContacto); dh.GuardarSentenciaEnArchivo(query, "mysql", "M", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), queryAlterno, dpi, contacto.dpi); } // Cierrla la conexión this.Close(); } return rowsAffected; }
/// <summary> /// Metodo para hacer un insert a la base de datos PostgreSQL /// </summary> /// <returns></returns> public int InsertarContacto(Contacto contacto) { rowsAffected = 0; String query = "INSERT INTO contacto (dpi, nombre, apellido, direccion, telefono_casa, telefono_movil, nombre_contacto, numero_telefono_contacto) VALUES('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}')"; query = String.Format(query, contacto.dpi, contacto.nombre, contacto.apellido, contacto.direccion, contacto.telefonoCasa, contacto.telefonoMovil, contacto.nombreContacto, contacto.numeroContacto); // Ejecuta la sentencia si el dpi no existe en la base de datos if (!this.ConsultarRegistro(contacto.dpi)) { // Abre la conexión if (this.Open()) { // Crea la sentencia de ejecución del query cmd = new NpgsqlCommand(query, conexion); rowsAffected = cmd.ExecuteNonQuery(); Debug.WriteLine("Sentencia ejecutada exitosamente"); // Si la sentencia se ejecuta correctamente, se arma la linea a guardar en el log de sentencias if (rowsAffected > 0) { String queryAlterno = "UPDATE contacto SET dpi='{0}', nombre='{1}', apellido='{2}', direccion='{3}', telefono_casa='{4}', telefono_movil='{5}', nombre_contacto='{6}', numero_telefono_contacto='{7}' WHERE dpi='{8}'"; queryAlterno = String.Format(queryAlterno, contacto.dpi, contacto.nombre, contacto.apellido, contacto.direccion, contacto.telefonoCasa, contacto.telefonoMovil, contacto.nombreContacto, contacto.numeroContacto, contacto.dpi); dh.GuardarSentenciaEnArchivo(queryAlterno, "mysql", "I", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), query, contacto.dpi, String.Empty); } // Cierra la conexión this.Close(); } } return rowsAffected; }