コード例 #1
0
ファイル: Config.cs プロジェクト: mvacha/Nett
        public IDisposable StartTransaction()
        {
            var transaction = Transaction.Start(this.persistable, onCloseTransactionCallback: original => this.persistable = original);

            this.persistable = transaction;
            return(transaction);
        }
コード例 #2
0
        public static Transaction Start(IMergeConfigStore persistable, Action <IMergeConfigStore> onCloseTransactionCallback)
        {
            var transaction = new Transaction(persistable, onCloseTransactionCallback);

            transaction.Init();
            return(transaction);
        }
コード例 #3
0
        private Transaction(IMergeConfigStore persistable, Action <IMergeConfigStore> onCloseTransactionCallback)
        {
            if (persistable is Transaction)
            {
                throw new InvalidOperationException(
                          "Cannot start new transaction as a transaction is already active. Only one active transaction is allowed.");
            }

            this.persistable = persistable.CheckNotNull(nameof(persistable));
            this.onCloseTransactionCallback = onCloseTransactionCallback.CheckNotNull(nameof(onCloseTransactionCallback));
        }
コード例 #4
0
ファイル: Config.cs プロジェクト: mvacha/Nett
        internal static Config <T> CreateInternal <T>(Func <T> createDefault, IMergeConfigStore store)
            where T : class
        {
            createDefault.CheckNotNull(nameof(createDefault));
            store.CheckNotNull(nameof(store));

            var cfg = createDefault();

            store.EnsureExists(Toml.Create(cfg));

            return(new Config <T>(store));
        }
コード例 #5
0
ファイル: Config.cs プロジェクト: mvacha/Nett
 internal Config(IMergeConfigStore persistable)
 {
     this.persistable = persistable.CheckNotNull(nameof(persistable));
 }
コード例 #6
0
 internal Config(IMergeConfigStore persistable)
 {
     this.config = new Config(persistable);
 }
コード例 #7
0
ファイル: TransactionUnitTests.cs プロジェクト: zanedp/Nett
 public TransactionUnitTests()
 {
     this.persistable = Substitute.For<IMergeConfigStore>();
 }