/// ------------------------------------------------------------------------------------ /// <summary> /// User clicked OK button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// ------------------------------------------------------------------------------------ private void OnOk(object sender, System.EventArgs e) { using (new WaitCursor(this)) { StepThroughNodesAndAddToList(m_treeView.Nodes[0]); if (m_BooksToSave.Count == 0) { Close(); return; } using (new SuppressSubTasks(m_cache)) { string sSavePoint; m_cache.DatabaseAccessor.SetSavePointOrBeginTrans(out sSavePoint); try { m_SavedVersion = m_scr.CreateSavedVersion(m_description.Text, m_BooksToSave.ToArray()); m_cache.DatabaseAccessor.CommitTrans(); } catch { m_cache.DatabaseAccessor.RollbackSavePoint(sSavePoint); throw; } finally { Close(); } } } }
/// ------------------------------------------------------------------------------------ /// <summary> /// Add archive to the database /// </summary> /// <param name="description">description for the archive.</param> /// <param name="booksToArchive">list of book HVOs to add to the archive.</param> /// ------------------------------------------------------------------------------------ private void AddArchive(string description, List <int> booksToArchive) { using (new SuppressSubTasks(m_cache)) { string sSavePoint; m_cache.DatabaseAccessor.SetSavePointOrBeginTrans(out sSavePoint); try { ScrDraft savedVersion = (ScrDraft)m_scr.CreateSavedVersion(description, booksToArchive.ToArray()); m_cache.DatabaseAccessor.CommitTrans(); } catch { m_cache.DatabaseAccessor.RollbackSavePoint(sSavePoint); throw; } } }