Ejemplo n.º 1
0
        /// ------------------------------------------------------------------------------------
        /// <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;
         }
     }
 }