Пример #1
0
 public IEnumerable<string> ListDocumentTypes(string docStore)
 {
     var types = new List<string>();
     var db = new Database(docStore);
     using(var cmd = db.GetSqlStringCommand(SELECT_DOC_TYPES))
     using(var reader = db.ExecuteReader(cmd))
     while(reader.Read())
     {
         types.Add(DBNullConvert.ToString(reader[0]));
     }
     return types;
 }
Пример #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;
 }
Пример #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;
 }
Пример #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;
        }
Пример #5
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;
        }