Пример #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CheckoutOperation"/> class.
 /// </summary>
 /// <param name="dataProvider">The data provider.</param>
 /// <param name="treeOperation">The tree opeartion.</param>
 /// <param name="commitOperation">The commit operation.</param>
 /// <param name="branchOperation">The branch operation.</param>
 public CheckoutOperation(
     IDataProvider dataProvider,
     ITreeOperation treeOperation,
     ICommitOperation commitOperation,
     IBranchOperation branchOperation)
     : this(dataProvider, treeOperation, commitOperation, branchOperation, NullLogger <CheckoutOperation> .Instance)
 {
 }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MergeOperation"/> class.
 /// </summary>
 /// <param name="dataProvider">The data provider.</param>
 /// <param name="commitOperation">The commit operation.</param>
 /// <param name="treeOperation">The tree operation.</param>
 /// <param name="diff">The diff operation.</param>
 public MergeOperation(
     IDataProvider dataProvider,
     ICommitOperation commitOperation,
     ITreeOperation treeOperation,
     IDiffOperation diff)
     : this(dataProvider, commitOperation, treeOperation, diff, NullLogger <MergeOperation> .Instance)
 {
 }
Пример #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RemoteOperation"/> class.
 /// </summary>
 /// <param name="localDataProvider">local data provider.</param>
 /// <param name="localCommitOperation">local commit operation.</param>
 /// <param name="remoteDataProvider">remote data provider.</param>
 /// <param name="remoteCommitOperation">remote commit operation.</param>
 public RemoteOperation(
     IDataProvider localDataProvider,
     ICommitOperation localCommitOperation,
     IDataProvider remoteDataProvider,
     ICommitOperation remoteCommitOperation)
     : this(localDataProvider, localCommitOperation, remoteDataProvider, remoteCommitOperation, NullLogger <RemoteOperation> .Instance)
 {
 }
Пример #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MergeOperation"/> class.
 /// </summary>
 /// <param name="dataProvider">The data provider.</param>
 /// <param name="commitOperation">The commit operation.</param>
 /// <param name="treeOperation">The tree operation.</param>
 /// <param name="diff">The diff operation.</param>
 /// <param name="logger">The logger.</param>
 public MergeOperation(
     IDataProvider dataProvider,
     ICommitOperation commitOperation,
     ITreeOperation treeOperation,
     IDiffOperation diff,
     ILogger <MergeOperation> logger)
 {
     this.dataProvider    = dataProvider;
     this.commitOperation = commitOperation;
     this.treeOperation   = treeOperation;
     this.diff            = diff;
     this.logger          = logger;
 }
Пример #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CheckoutOperation"/> class.
 /// </summary>
 /// <param name="dataProvider">The data provider.</param>
 /// <param name="treeOperation">The tree operation.</param>
 /// <param name="commitOperation">The commit operation.</param>
 /// <param name="branchOperation">The branch operation.</param>
 /// <param name="logger">The logger factory.</param>
 public CheckoutOperation(
     IDataProvider dataProvider,
     ITreeOperation treeOperation,
     ICommitOperation commitOperation,
     IBranchOperation branchOperation,
     ILogger <CheckoutOperation> logger)
 {
     this.dataProvider    = dataProvider;
     this.treeOperation   = treeOperation;
     this.commitOperation = commitOperation;
     this.branchOperation = branchOperation;
     this.logger          = logger;
 }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RemoteOperation"/> class.
 /// </summary>
 /// <param name="localDataProvider">local data provider.</param>
 /// <param name="localCommitOperation">local commit operation.</param>
 /// <param name="remoteDataProvider">remote data provider.</param>
 /// <param name="remoteCommitOperation">remote commit operation.</param>
 /// <param name="logger">The logger.</param>
 public RemoteOperation(
     IDataProvider localDataProvider,
     ICommitOperation localCommitOperation,
     IDataProvider remoteDataProvider,
     ICommitOperation remoteCommitOperation,
     ILogger <RemoteOperation> logger)
 {
     this.localDataProvider     = localDataProvider;
     this.localCommitOperation  = localCommitOperation;
     this.remoteDataProvider    = remoteDataProvider;
     this.remoteCommitOperation = remoteCommitOperation;
     this.localFileOperator     = this.localDataProvider.FileOperator;
     this.remoteFileOperator    = this.remoteDataProvider.FileOperator;
     this.logger = logger;
 }
Пример #7
0
 static Program()
 {
     FileSystem        = new FileSystem();
     FileOperator      = new PhysicalFileOperator(FileSystem);
     DataProvider      = new LocalDataProvider(FileOperator);
     Diff              = new DiffOperation(DataProvider, new DiffProxy());
     TreeOperation     = new TreeOperation(DataProvider);
     CommitOperation   = new CommitOperation(DataProvider, TreeOperation);
     TagOperation      = new TagOperation(DataProvider);
     ResetOperation    = new ResetOperation(DataProvider);
     MergeOperation    = new MergeOperation(DataProvider, CommitOperation, TreeOperation, Diff);
     InitOperation     = new DefaultInitOperation(DataProvider);
     BranchOperation   = new BranchOperation(DataProvider);
     CheckoutOperation = new CheckoutOperation(DataProvider, TreeOperation, CommitOperation, BranchOperation);
     AddOperation      = new AddOperation(DataProvider);
     OidConverter      = DataProvider.GetOid;
 }
Пример #8
0
        public Operation CreateOperation(Guid logGuid, TransactionOperation transactionOperation, IOperationProvider operationProvider)
        {
            Operation operation = null;

            if (operationProvider != null)
            {
                OperationProvider = operationProvider;
            }
            else
            {
                throw new ArgumentException("Provider cann't be null");
            }
            switch (transactionOperation)
            {
            case TransactionOperation.CheckPayment:
                operation = new CheckOperation(logGuid, OperationProvider);
                break;

            case TransactionOperation.IPayment:
                operation = new IPaymentOperation(logGuid, OperationProvider);
                break;

            case TransactionOperation.ICommit:
                operation = new ICommitOperation(logGuid, OperationProvider);
                break;

            case TransactionOperation.Cancel:
                operation = new CancelOperation(logGuid, OperationProvider);
                break;

            default:
                string msg = $"TransactionOperation {OperationProvider} not supported";
                Logger.WriteLoggerError(msg);
                throw new ArgumentOutOfRangeException(msg);
            }
            return(operation);
        }
Пример #9
0
 public void Init()
 {
     dataProvider    = new Mock <IDataProvider>();
     treeOperation   = new Mock <ITreeOperation>();
     commitOperation = new CommitOperation(dataProvider.Object, treeOperation.Object);
 }