public SongFormatter(DS.SongsRow row)
{
InitializeComponent();
currentRow = row;
// accept changes if not new
if (row.RowState == DataRowState.Detached)
{
this.Text = "Add a new song";
this.btnSave.Text = "Add";
}
else
{
this.btnSave.Text = "Save";
row.AcceptChanges();
}
dt = new EmpowerPresenter.DS.SongVersesDataTable();
// load song verses
using (FBirdTask t = new FBirdTask())
{
t.CommandText =
"SELECT \"AutoNumber\", \"IsChorus\", \"Verse\", \"OrderNum\" " +
"FROM \"SongVerses\" " +
"WHERE \"AutoNumber\" = @AutoNumber " +
"ORDER BY \"OrderNum\"";
t.Parameters.Add("@AutoNumber", FbDbType.Integer);
t.Parameters["@AutoNumber"].Value = row.AutoNumber;
DS.SongVersesRow r;
t.ExecuteReader();
while (t.DR.Read())
{
r = dt.NewSongVersesRow();
r.AutoNumber = t.DR.GetInt32(0);
r.IsChorus = t.DR.GetInt16(1) == 1 ? true : false;
r.Verse = t.DR.GetString(2);
r.OrderNum = t.DR.GetInt32(3);
dt.AddSongVersesRow(r);
}
dt.AcceptChanges();
}
dataView1.BeginInit();
dataView1.Table = dt;
dataView1.EndInit();
// disect song
SongNumber = currentRow.Number.ToString();
txtTitle.Text = currentRow.Title;
txtChorus.Text = currentRow.Chorus;
currentImage = new PhotoInfo();
currentImage.ImageId = currentRow.Image;
button1_Click(null, null);
gdbVerses.Model.Refresh();
}