コード例 #1
0
        /// <summary>
        /// Retrieve all files for a category and group
        /// </summary>
        /// <param name="category"></param>
        /// <returns></returns>
        /// <remarks></remarks>
        public List <Datafile> RetrieveDataFiles(string category, string group)
        {
            List <Datafile> files = new List <Datafile>();
            DbCommand       cmd   = store.GetStoredProcCommand("RetrieveDatafiles");

            store.AddInParameter(cmd, "category", DbType.String, category);
            store.AddInParameter(cmd, "group", DbType.String, group);
            using (IDataReader reader = store.ExecuteReader(cmd))
            {
                while (reader.Read())
                {
                    Datafile newfile = new Datafile();
                    newfile.ID        = reader.GetInt32(reader.GetOrdinal("id"));
                    newfile.Category  = category;
                    newfile.Group     = System.Convert.ToString(reader.SafeGetString(reader.GetOrdinal("group")));
                    newfile.Filename  = System.Convert.ToString(reader.SafeGetString(reader.GetOrdinal("filename")));
                    newfile.Extension = System.Convert.ToString(reader.SafeGetString(reader.GetOrdinal("extension")));
                    newfile.Content   = (byte[])(reader.GetValue(reader.GetOrdinal("content")));
                    files.Add(newfile);
                }
            }


            return(default(List <Datafile>));
        }
コード例 #2
0
        /// <summary>
        /// Update a record in the database.
        /// </summary>
        /// <param name="file"></param>
        /// <remarks></remarks>
        public void UpdateDatafile(Datafile file)
        {
            DbCommand cmd = store.GetStoredProcCommand("UpdateDatafile");

            store.AddInParameter(cmd, "id", DbType.Int32, file.ID);
            store.AddInParameter(cmd, "category", DbType.String, file.Category);
            store.AddInParameter(cmd, "group", DbType.String, file.Group);
            store.AddInParameter(cmd, "filename", DbType.String, file.Filename);
            store.AddInParameter(cmd, "extension", DbType.String, file.Extension);
            store.AddInParameter(cmd, "content", DbType.Binary, file.Content);
            store.ExecuteNonQuery(cmd);
        }
コード例 #3
0
        /// <summary>
        /// Load this datafile from the database.
        /// </summary>
        /// <remarks></remarks>
        public void Load()
        {
            Datafile retrieved = DatafilesBackingStore.Instance.RetrieveDatafile(this.ID);

            if (retrieved != null)
            {
                this.Category  = retrieved.Category;
                this.Group     = retrieved.Group;
                this.Filename  = retrieved.Filename;
                this.Extension = retrieved.Extension;
                this.Content   = retrieved.Content;
            }
        }
コード例 #4
0
        /// <summary>
        /// Save this datafile into the database.
        /// </summary>
        /// <remarks></remarks>
        public void Save()
        {
            Datafile retrieved = DatafilesBackingStore.Instance.RetrieveDatafile(this.ID);

            if (retrieved == null)
            {
                this.ID = DatafilesBackingStore.Instance.CreateDatafile(this);
            }
            else
            {
                DatafilesBackingStore.Instance.UpdateDatafile(this);
            }
        }
コード例 #5
0
        /// <summary>
        /// Create a new record in the database.
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        /// <remarks></remarks>
        public int CreateDatafile(Datafile file)
        {
            int       newid = 0;
            DbCommand cmd   = store.GetStoredProcCommand("CreateDatafile");

            store.AddInParameter(cmd, "category", DbType.String, file.Category);
            store.AddInParameter(cmd, "group", DbType.String, file.Group);
            store.AddInParameter(cmd, "filename", DbType.String, file.Filename);
            store.AddInParameter(cmd, "extension", DbType.String, file.Extension);
            store.AddInParameter(cmd, "content", DbType.Binary, file.Content);
            store.AddOutParameter(cmd, "newid", DbType.Int32, newid);
            store.ExecuteNonQuery(cmd);
            newid = System.Convert.ToInt32(cmd.Parameters[5].Value);
            return(newid);
        }
コード例 #6
0
        /// <summary>
        /// Retrieve a record from the database.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        /// <remarks></remarks>
        public Datafile RetrieveDatafile(int id)
        {
            DbCommand cmd = store.GetStoredProcCommand("RetrieveDatafileByID");

            store.AddInParameter(cmd, "id", DbType.String, id);
            using (System.Data.IDataReader reader = store.ExecuteReader(cmd))
            {
                if (reader.Read() == true)
                {
                    Datafile newfile = new Datafile();
                    newfile.ID        = reader.GetInt32(reader.GetOrdinal("id"));
                    newfile.Category  = System.Convert.ToString(reader.SafeGetString(reader.GetOrdinal("category")));
                    newfile.Group     = System.Convert.ToString(reader.SafeGetString(reader.GetOrdinal("group")));
                    newfile.Filename  = System.Convert.ToString(reader.SafeGetString(reader.GetOrdinal("filename")));
                    newfile.Extension = System.Convert.ToString(reader.SafeGetString(reader.GetOrdinal("extension")));
                    newfile.Content   = (byte[])(reader.GetValue(reader.GetOrdinal("content")));
                    return(newfile);
                }
                else
                {
                    return(null);
                }
            }
        }