예제 #1
0
        protected virtual ICommandOutput ToOutput(PackageOperationResult packageOperationResult)
        {
            var output = packageOperationResult.ToOutput();

            Successful = Successful && (output.Type != CommandResultType.Error);
            return(output);
        }
예제 #2
0
 protected override ICommandOutput ToOutput(PackageOperationResult packageOperationResult)
 {
     if (packageOperationResult is PackageMissingResult)
     {
         _packageNotFound = true;
     }
     return(base.ToOutput(packageOperationResult));
 }
예제 #3
0
        protected static void If <T>(PackageOperationResult result, Action <T> action) where T : PackageOperationResult
        {
            T resultTyped;

            if ((resultTyped = result as T) != null)
            {
                action(resultTyped);
            }
        }
예제 #4
0
 protected override ICommandOutput ToOutput(PackageOperationResult packageOperationResult)
 {
     if (Version == null)
     {
         If <PackageDependencyRemovedResult>(packageOperationResult,
                                             _ => _targetDescriptor.Value.Dependencies.Remove(_.Dependency));
     }
     return(base.ToOutput(packageOperationResult));
 }
예제 #5
0
        protected override ICommandOutput ToOutput(PackageOperationResult packageOperationResult)
        {
            If <PackageMissingResult>(packageOperationResult, _ => _packageNotFound = true);
            if (!NoDescriptorUpdate)
            {
                If <PackageDependencyAddedResult>(packageOperationResult, _ => _targetDescriptor.Value.Dependencies.Add(_.Dependency));
            }

            return(base.ToOutput(packageOperationResult));
        }
예제 #6
0
 protected override ICommandOutput ToOutput(PackageOperationResult packageOperationResult)
 {
     if (packageOperationResult is PackageMissingResult)
     {
         return(new Warning("Cannot update package because of missing packages: {0}.", ((PackageMissingResult)packageOperationResult).Package.Identifier));
     }
     else
     {
         return(base.ToOutput(packageOperationResult));
     }
 }
예제 #7
0
        static void ParseSuccess(PackageOperationResult m, Action <PackageIdentifier> onSuccess, Action onFailure = null)
        {
            var id = m is PackageUpdatedResult
                             ? ((PackageUpdatedResult)m).Package.Identifier
                             : (m is PackageAddedResult ? ((PackageAddedResult)m).Package.Identifier : null);

            if (m.Success && id != null)
            {
                onSuccess(id);
            }
            else if (m.Success)
            {
                return;
            }
            else if (onFailure != null)
            {
                onFailure();
            }
        }