Наследование: IPackageOperationContext
        private void CloseCurrentOperationContext(PackageOperationContext context)
        {
            Argument.IsNotNull(() => context);

            lock (_lockObject)
            {
                if (CurrentContext.Parent == null)
                {
                    OperationContextDisposing.SafeInvoke(this, new OperationContextEventArgs(context));
                    context.FileSystemContext.Dispose();

                    _packageOperationNotificationService.NotifyOperationBatchFinished(context.OperationType, context.Packages);
                    _rootContext = null;
                }

                CurrentContext = CurrentContext.Parent;
            }
        }
Пример #2
0
        private void CloseCurrentOperationContext(PackageOperationContext context)
        {
            Argument.IsNotNull(() => context);

            lock (_lockObject)
            {
                if (CurrentContext.Parent == null)
                {
                    OperationContextDisposing?.Invoke(this, new OperationContextEventArgs(context));
                    context.FileSystemContext.Dispose();

                    _packageOperationNotificationService.NotifyOperationBatchFinished(context.OperationType, context.Packages ?? new IPackageDetails[0]);
                    _rootContext = null;
                }

                CurrentContext = CurrentContext.Parent;
            }
        }
Пример #3
0
        private void CloseCurrentOperationContext(PackageOperationContext context)
        {
            Argument.IsNotNull(() => context);

            lock (_lockObject)
            {
                if (CurrentContext.Parent is null)
                {
                    OperationContextDisposing?.Invoke(this, new OperationContextEventArgs(context));
#pragma warning disable IDISP007 // Don't dispose injected.
                    context.FileSystemContext.Dispose();
#pragma warning restore IDISP007 // Don't dispose injected.

                    _packageOperationNotificationService.NotifyOperationBatchFinished(context.OperationType, context.Packages ?? new IPackageDetails[0]);
                    _rootContext = null;
                }

                CurrentContext = CurrentContext.Parent;
            }
        }
        private void ApplyOperationContext(PackageOperationContext context)
        {
            Argument.IsNotNull(() => context);

            lock (_lockObject)
            {
                if (_rootContext == null)
                {
                    context.CatchedExceptions.Clear();

                    _rootContext = context;
                    CurrentContext = context;
                    _packageOperationNotificationService.NotifyOperationBatchStarting(context.OperationType, context.Packages);
                }
                else
                {
                    context.Parent = CurrentContext;
                    CurrentContext = context;
                }
            }
        }
Пример #5
0
        private void ApplyOperationContext(PackageOperationContext context)
        {
            Argument.IsNotNull(() => context);

            lock (_lockObject)
            {
                if (_rootContext is null)
                {
                    context.Exceptions.Clear();

                    _rootContext   = context;
                    CurrentContext = context;
                    _packageOperationNotificationService.NotifyOperationBatchStarting(context.OperationType, context.Packages ?? new IPackageDetails[0]);
                }
                else
                {
                    context.Parent = CurrentContext;
                    CurrentContext = context;
                }
            }
        }