Ejemplo n.º 1
0
 public void Delete(string id)
 {
     var db = new Database(Connection);
     using (var cmd = db.GetSqlStringCommand(DELETE_SQL))
     {
         db.AddInParameter(cmd, "id", DbType.String, id);
         db.ExecuteNonQuery(cmd);
         //TODO: Remove from cache
     }
 }
Ejemplo n.º 2
0
 public Document Get(string id)
 {
     Document document;
     var db = new Database(Connection);
     using(var cmd = db.GetSqlStringCommand(GET_SQL))
     {
         db.AddInParameter(cmd, "id", DbType.String, id);
         using (var reader = db.ExecuteReader(cmd, true))
         {
             if (!reader.Read()) return null;
             document = HydrateDocument(reader);
             //TODO: Caching
         }
     }
     return document;
 }
Ejemplo n.º 3
0
 public IEnumerable<DocumentSummary> ListDocuments(string docStore, string docType)
 {
     var docs = new List<DocumentSummary>();
     var db = new Database(docStore);
     using(var cmd = db.GetSqlStringCommand(SELECT_DOCS))
     {
         db.AddInParameter(cmd, "type", DbType.String, docType);
         using(var reader = db.ExecuteReader(cmd))
         while(reader.Read())
         {
             var summary = new DocumentSummary()
                               {
                                   Id = DBNullConvert.ToString(reader[0]),
                                   CreateDate = DBNullConvert.To<DateTime>(reader[1]),
                                   ModifyDate = DBNullConvert.To<DateTime>(reader[2])
                               };
             docs.Add(summary);
         }
     }
     return docs;
 }
Ejemplo n.º 4
0
        public IEnumerable<Document> Get(string[] ids)
        {
            //TODO: check cache, build new id array for remaining items
            var @params = ids.Select((id, index) => String.Format("@id{0}", index)).ToArray();
            var sql = String.Format(GET_MANY_SQL, String.Join(",", @params));

            IList<Document> documents = new List<Document>();
            var db = new Database(Connection);
            using(var cmd = db.GetSqlStringCommand(sql))
            {
                for (int i = 0; i < ids.Length; i++)
                    db.AddInParameter(cmd, @params[i], DbType.String, ids[i]);
                using (var reader = db.ExecuteReader(cmd, true))
                {
                    while (reader.Read())
                    {
                        Document doc = HydrateDocument(reader);
                        //TODO: Caching
                        documents.Add(doc);
                    }
                }
            }
            return documents;
        }
Ejemplo n.º 5
0
        private void Update(Document document)
        {
            var db = new Database(Connection);
            using (var cmd = db.GetSqlStringCommand(PUT_UPDATE_SQL))
            {
                db.AddInParameter(cmd, "id", DbType.String, document.Id);
                db.AddInParameter(cmd, "doc", DbType.String, document.Content);
                db.AddInParameter(cmd, "meta", DbType.String, document.Metadata);
                db.AddInParameter(cmd, "modify", DbType.DateTime, document.ModifyDate);

                db.ExecuteNonQuery(cmd);
            }
        }
Ejemplo n.º 6
0
        public IEnumerable<Document> GetAll(string type)
        {
            IList<Document> documents = new List<Document>();

            var db = new Database(Connection);
            using(var cmd = db.GetSqlStringCommand(GET_ALL_OF_TYPE_SQL))
            {
                db.AddInParameter(cmd, "type", DbType.String, type);
                using(var reader = db.ExecuteReader(cmd))
                {
                    while(reader.Read())
                    {
                        var doc = HydrateDocument(reader);
                        //TODO: Caching
                        documents.Add(doc);
                    }
                }
            }
            return documents;
        }