コード例 #1
0
        private void LoadDocument(DocumentReference document)
        {
            if (dbTrans != null)
            {
                dbTrans.Rollback();
                dbTrans.Dispose();
            }

            if (document.Collection is FileCollectionReference)
            {
                var fileInfo = (document.Collection as FileCollectionReference).GetFileObject(document);
                GroupFile.Visibility = Visibility.Visible;
                FileView.LoadFile(fileInfo);
            }

            currentDocument   = document.Collection.LiteCollection.FindById(document.LiteDocument["_id"]);
            documentReference = document;
            dbTrans           = documentReference.Collection.Database.LiteDatabase.BeginTrans();
            customControls    = new ObservableCollection <DocumentFieldData>();

            for (int i = 0; i < document.LiteDocument.Keys.Count; i++)
            {
                var key = document.LiteDocument.Keys.ElementAt(i);
                customControls.Add(NewField(key, IsReadOnly));
            }

            ListItems.ItemsSource = customControls;
        }
コード例 #2
0
        public static int BeginTrans()
        {
            LiteTransaction trans = BaseDados.DataBase.BeginTrans();

            transactions.Add(trans);

            return(transactions.Count());
        }
コード例 #3
0
 /// <summary>	Commits this object. </summary>
 /// <exception cref="InvalidOperationException">
 ///     Thrown when the requested operation is
 ///     invalid.
 /// </exception>
 public override void Commit()
 {
     if (Transaction == null)
     {
         throw new InvalidOperationException(
                   "UnitOfWork can't be committed since it's already finished. (Missing transaction)");
     }
     if (_ownsConnection)
     {
         Transaction.Commit();
         Transaction.Dispose();
         Transaction = null;
     }
 }
コード例 #4
0
 protected override void DisposeUow()
 {
     Transaction?.Dispose();
     Transaction = null;
 }
コード例 #5
0
 protected override void BeginUow()
 {
     Transaction = Database.BeginTrans();
 }
コード例 #6
0
 internal DbTransaction(LiteDatabase database)
 {
     Database    = database;
     Transaction = database.BeginTrans();
 }