public int agendarObjeto(SMObjetoAgenda obj) { this.id = Int32.Parse(SMFactory.getDbh().getTableCode("agenda", "id").ToString()); //obtener un id para la nueva instance del objeto a agendar this.id_objeto = Int32.Parse(SMFactory.getDbh().getTableCode("agenda", "id_objeto").ToString()); //asignar el tipo de objeto this.id_tipo_objeto = obj.id_tipo_objeto; this.fecha_creacion = DateTime.Now; int id_entrada = SMFactory.getDbh().insert("agenda", this); //almacenar las propiedades del objeto ArrayList propiedades = obj.obtenerPropiedades(); if (propiedades != null) { foreach (Hashtable key in propiedades) { Hashtable p = new Hashtable(); p.Add("id_propiedad", SMFactory.getDbh().getTableCode("agenda_objeto_propiedades", "id_propiedad")); p.Add("id_objeto", this.id_objeto); p.Add("propiedad", key["propiedad"]); p.Add("valor", key["valor"]); p.Add("fecha_creacion", DateTime.Now.ToString("yyyyMMdd HH:mm:ss")); SMFactory.getDbh().insert("agenda_objeto_propiedades", p); } } return(id_entrada); }
public bool eliminarObjeto(int id) { string query = "DELETE FROM agenda WHERE id = " + id; SMFactory.getDbh().Execute(query); return(true); }
public bool obtenerInformacion(int id_objeto) { this.propiedades = new ArrayList(); string query = "SELECT a.id_objeto, a.id_tipo_objeto, o.tipo_objeto " + " FROM agenda a, agenda_tipo_objetos o " + "WHERE a.id_objeto = " + id_objeto.ToString() + " " + "AND a.id_tipo_objeto = o.id_tipo_objeto "; Hashtable row = SMFactory.getDbh().QueryRow(query); if (row == null) { throw new Exception("Objecto de agenda no encontrado"); } this.bind(row); query = "SELECT id_propiedad, id_objeto, propiedad, valor, fecha_creacion " + "FROM agenda_objeto_propiedades " + "WHERE id_objeto = " + id_objeto.ToString(); this.propiedades = SMFactory.getDbh().Query(query); /* * foreach(Hashtable r in list) * { * if(this.propiedades.ContainsKey(r["propiedad"].ToString())) * { * this.propiedades.Add(r["propiedad"].ToString() + "_" + r["valor"].ToString(), r["valor"].ToString()); * } * else * this.propiedades.Add(r["propiedad"].ToString(), r["valor"].ToString()); * } */ this.id_objeto = id_objeto; return(true); }
/// <summary> /// Actualiza la propieda del objeto de agenda /// </summary> public void actualizarPropiedad(int id_propiedad, string propiedad, string nuevo_valor) { Hashtable data = new Hashtable(); data.Add(propiedad, nuevo_valor); Hashtable w = new Hashtable(); w.Add("id_propiedad", id_propiedad); SMFactory.getDbh().update("agenda_objeto_propiedades", data, w); }
/// <summary> /// Obtiene el identificador de un tipo de objeto determinado /// </summary> /// <param name="tipo_objeto"> /// A <see cref="System.String"/> /// </param> /// <returns> /// A <see cref="System.Int32"/> /// </returns> public static int obtenerTipoObjetoID(string tipo_objeto) { string query = "SELECT id_tipo_objeto, tipo_objeto, fecha_creacion " + "FROM agenda_tipo_objetos " + " WHERE tipo_objeto = '" + tipo_objeto + "'"; Hashtable row = SMFactory.getDbh().QueryRow(query); if (row == null) { return(0); } return(Int32.Parse(row["id_tipo_objeto"].ToString())); }
/// <summary> /// Adiciona una nueva propiedad en la base de datos para un objeto de agenda /// </summary> /// <param name="nombre"></param> /// <param name="valor"></param> public int adicionarPropiedad(string nombre, string valor) { string query = "INSERT INTO agenda_objeto_propiedades(id_propiedad, id_objeto, propiedad, valor, fecha_creacion) " + "VALUES({0}, {1}, '{2}', '{3}', '{4}')"; query = String.Format(query, SMFactory.getDbh().getTableCode("agenda_objeto_propiedades", "id_propiedad"), this.id_objeto, nombre, valor, DateTime.Now.ToString("yyyyMMdd HH:mm:ss")); return(SMFactory.getDbh().Execute(query)); }
/// <summary> /// Crear una nueva instance de un objeto de agenda /// </summary> /// <param name="tipo_objeto"> /// A <see cref="System.String"/> /// </param> /// <returns> /// A <see cref="SMObjetoAgenda"/> /// </returns> public SMObjetoAgenda crearObjeto(string tipo_objeto) { SMObjetoAgenda obj = new SMObjetoAgenda(); string query = "SELECT id_tipo_objeto, tipo_objeto, fecha_creacion " + "FROM agenda_tipo_objetos " + " WHERE tipo_objeto = '" + tipo_objeto + "'"; Hashtable row = SMFactory.getDbh().QueryRow(query); if (row != null) { obj.bind(row); } return(obj); }
public static SMAgenda obtenerEntradaPorIDObjecto(int id_objeto) { SMAgenda entrada = new SMAgenda(); string query = "SELECT " + entrada.getPropertiesWithGlue(",") + " FROM agenda " + "WHERE id_objeto = " + id_objeto.ToString(); Hashtable row = SMFactory.getDbh().QueryRow(query); if (row == null) { throw new Exception("Objecto de agenda no encontrado"); } entrada.bind(row); return(entrada); }
public bool actualizar() { string query = "UPDATE agenda SET "; foreach (FieldInfo column in this.getProperties()) { if (column.GetValue(this) is string) { query += column.Name + " = '" + column.GetValue(this) + "',"; } else if (column.GetValue(this) is int) { query += column.Name + " = '" + column.GetValue(this) + "',"; } } query = query.Substring(query.Length, query.Length - 1); query += " WHERE id = " + this.id_tipo_objeto; SMFactory.getDbh().Execute(query); return(true); }
public bool obtenerInformacionPorID(int id) { string query = "SELECT " + this.getPropertiesWithGlue(",") + " FROM agenda " + "WHERE id = " + id.ToString(); Hashtable row = SMFactory.getDbh().QueryRow(query); if (row == null) { throw new Exception("Objecto de agenda no encontrado"); } /* * this.id_objeto = Int32.Parse(row["id_objeto"].ToString()); * this.descripcion = row["descripcion"].ToString(); * this.fecha_inicio = DateTime.Parse(row["fecha_inicio"].ToString()); * this.fecha_termino = DateTime.Parse(row["fecha_termino"].ToString()); */ this.bind(row); //obtener el objeto asociado a la agenda //this.obj = new SMObjetoAgenda(this.id_objeto); return(true); }