public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
        {
            if (!(unit is ICanBeStopStarted))
                throw new ArgumentException("Action is only supported for deploy units that implement ICanBeStopStarted");

            return ((ICanBeStopStarted) unit).GetStartTask();
        }
        public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
        {
            var previousversion = unit.GetDeployedVersions().Skip(1).FirstOrDefault(x => x.DeployFailed == false);
            if (previousversion == null)
            {
                Log.Warn("Could not find any previous version!");
                return null;
            }

            var config = ObjectFactory.GetInstance<IAsimovConfig>();

            var packageSource = config.GetPackageSourceFor(unit);
            var version = packageSource.GetVersion(previousversion.VersionId, unit.PackageInfo);
            return unit.GetDeployTask(version, new ParameterValues(previousversion.Parameters), user, correlationId);
        }
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
 {
     return new CommandTask(unit, Command, correlationId);
 }
 public CommandTask(DeployUnit deployUnit, string command, string correlationId)
 {
     this.deployUnit = deployUnit;
     this.command = command;
     this.correlationId = correlationId;
 }
 public abstract AsimovTask GetTask(DeployUnit unit,AsimovUser user, string correlationId);
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
 {
     return new VerifyCommandTask((WebSiteDeployUnit)unit, ZipPath, Command, correlationId);
 }
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
 {
     return new PowershellCommandTask(Arguments, correlationId);
 }
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
 {
     return new VerifySiteTask((WebSiteDeployUnit)unit, Urls.ToArray(), correlationId);
 }
 public abstract AsimovTask GetTask(DeployUnit unit,AsimovUser user);