Beispiel #1
0
        public override MetaAttributeList FindAttributes(string Name, string Value, string Schema = "")
        {
            var rtrn = new MetaAttributeList();

            using (var comm = conn.CreateCommand())
            {
                var sql = string.Format("select id, entity_id, name, value from {0}attribute where name = @name and value = @value;", Schema);

                comm.CommandText = sql.ToString();

                comm.Parameters.AddWithValue("@name", Name);
                comm.Parameters.AddWithValue("@value", Value);

                var rdr = comm.ExecuteReader();

                while (rdr.Read())
                {
                    rtrn.Add
                    (
                        rdr.GetGuid(0)
                        ,
                        new MetaAttribute()
                    {
                        ID         = rdr.GetGuid(0)
                        , EntityID = rdr.GetGuid(1)
                        , Name     = rdr.GetString(2)
                        , Value    = rdr.GetString(3)
                    }
                    );
                }
            }

            return(rtrn);
        }
Beispiel #2
0
/*
 *              public override  Objects.MetaAttribute GetAttribute(Guid AttributeID, string Schema = "")
 *              {
 *                      MetaAttribute rtrn = null;
 *
 *                      using (var comm = conn.CreateCommand())
 *                      {
 *                              // where entity_id in ({1})
 *                              var sql = string.Format("select id, entity_id, name, value from {0}attribute where id = @id;", Schema);
 *                              comm.CommandText = sql.ToString();
 *                              comm.Parameters.AddWithValue("@id", AttributeID.ToString("N"));
 *
 *                              Trace(comm);
 *
 *                              var rdr = comm.ExecuteReader();
 *
 *                              while (rdr.Read())
 *                              {
 *                                      rtrn = new MetaAttribute()
 *                                      {
 *                                              ID = rdr.GetGuid(0)
 *                                              , EntityID = rdr.GetGuid(1)
 *                                              , Name = rdr.GetString(2)
 *                                              , Value = rdr["value"]
 *                                      }
 *                                      ;
 *                              }
 *                      }
 *
 *                      return rtrn;
 *              }
 *
 */
        public override Objects.MetaAttributeList GetAttributes(GuidList EntityID, List <string> Names = null, string Schema = "")
        {
            var rtrn = new MetaAttributeList();

            var in_str = "";

            if (Names != null)
            {
                foreach (string s in Names)
                {
                    if (in_str.Length > 0)
                    {
                        in_str += ",";
                    }

                    in_str = string.Format("'{0}'", s);
                }
            }

            using (var comm = conn.CreateCommand())
            {
                // where entity_id in ({1})

                var sql = new StringBuilder();
                sql.AppendLine(string.Format("select id, entity_id, name, value from {0}attribute", Schema));


                var where = new StringBuilder();


                if (in_str.Length > 0)
                {
                    sql.AppendLine(string.Format(" and name in ({0})", in_str));
                }



                sql.AppendLine(";");

                comm.CommandText = sql.ToString();

                Trace(comm);

                var rdr = comm.ExecuteReader();

                while (rdr.Read())
                {
                    rtrn.Add
                    (
                        rdr.GetGuid(0)
                        , new MetaAttribute()
                    {
                        ID         = rdr.GetGuid(0)
                        , EntityID = rdr.GetGuid(1)
                        , Name     = rdr.GetString(2)
                        , Value    = rdr["value"]
                    }
                    )
                    ;
                }
            }

            return(rtrn);
        }