示例#1
0
        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);
        }
示例#5
0
        /// <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));
        }
示例#7
0
        /// <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);
        }
示例#8
0
        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);
        }
示例#10
0
        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);
        }