/// <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>)); }
/// <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); }
/// <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; } }
/// <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); } }
/// <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); }
/// <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); } } }