public ProjectService(IUnitOfWorkFactory unitOfWorkFactory,
                              ITargetGroupEnvironmentService targetGroupEnvironmentService,
                              IVariableService variableService,
                              IDeploymentPlanStepService deploymentPlanStepService,
                              IProjectTargetService projectTargetService)
            : base(unitOfWorkFactory)
        {
            if (targetGroupEnvironmentService == null)
            {
                throw new ArgumentNullException("targetGroupEnvironmentService");
            }
            _targetGroupEnvironmentService = targetGroupEnvironmentService;

            if (variableService == null)
            {
                throw new ArgumentNullException("variableService");
            }
            _variableService = variableService;

            if (deploymentPlanStepService == null)
            {
                throw new ArgumentNullException("deploymentPlanStepService");
            }
            _deploymentPlanStepService = deploymentPlanStepService;

            if (projectTargetService == null)
            {
                throw new ArgumentNullException("projectTargetService");
            }
            _projectTargetService = projectTargetService;
        }
        public DeploymentJobExecutionService(
            IDeploymentJobService deploymentJobService,
            IDeploymentJobStepService deploymentJobStepService,
            IDeploymentJobStepTargetService deploymentJobStepTargetService,
            IDeploymentPlanStepService deploymentPlanStepService,
            ITargetGroupService targetGroupService,
            ITargetGroupEnvironmentService targetGroupEnvironmentService,
            IProjectTargetService projectTargetService,
            ITargetService targetService,
            ICredentialService credentialService,
            IScriptService scriptService,
            IScriptExecutionService scriptExecutionService,
            IProjectEnvironmentService projectEnvironmentService,
            IVariableService variableService)
        {
            if (deploymentJobService == null)
                throw new ArgumentNullException("deploymentJobService");
            _deploymentJobService = deploymentJobService;

            if (deploymentJobStepService == null)
                throw new ArgumentNullException("deploymentJobStepService");
            _deploymentJobStepService = deploymentJobStepService;

            if (deploymentJobStepTargetService == null)
                throw new ArgumentNullException("deploymentJobStepTargetService");
            _deploymentJobStepTargetService = deploymentJobStepTargetService;

            if (deploymentPlanStepService == null)
                throw new ArgumentNullException("deploymentPlanStepService");
            _deploymentPlanStepService = deploymentPlanStepService;

            if (targetGroupService == null)
                throw new ArgumentNullException("targetGroupService");
            _targetGroupService = targetGroupService;

            if (targetGroupEnvironmentService == null)
                throw new ArgumentNullException("targetGroupEnvironmentService");
            _targetGroupEnvironmentService = targetGroupEnvironmentService;

            if (projectTargetService == null)
                throw new ArgumentNullException("projectTargetService");
            _projectTargetService = projectTargetService;

            if (targetService == null)
                throw new ArgumentNullException("targetService");
            _targetService = targetService;

            if (credentialService == null)
                throw new ArgumentNullException("credentialService");
            _credentialService = credentialService;

            if (scriptService == null)
                throw new ArgumentNullException("scriptService");
            _scriptService = scriptService;

            if (scriptExecutionService == null)
                throw new ArgumentNullException("scriptExecutionService");
            _scriptExecutionService = scriptExecutionService;

            if (projectEnvironmentService == null)
                throw new ArgumentNullException("projectEnvironmentService");
            _projectEnvironmentService = projectEnvironmentService;

            if (variableService == null)
                throw new ArgumentNullException("variableService");
            _variableService = variableService;
        }
        public DeploymentJobExecutionService(
            IDeploymentJobService deploymentJobService,
            IDeploymentJobStepService deploymentJobStepService,
            IDeploymentJobStepTargetService deploymentJobStepTargetService,
            IDeploymentPlanStepService deploymentPlanStepService,
            ITargetGroupService targetGroupService,
            ITargetGroupEnvironmentService targetGroupEnvironmentService,
            IProjectTargetService projectTargetService,
            ITargetService targetService,
            ICredentialService credentialService,
            IScriptService scriptService,
            IScriptExecutionService scriptExecutionService,
            IProjectEnvironmentService projectEnvironmentService,
            IVariableService variableService)
        {
            if (deploymentJobService == null)
            {
                throw new ArgumentNullException("deploymentJobService");
            }
            _deploymentJobService = deploymentJobService;

            if (deploymentJobStepService == null)
            {
                throw new ArgumentNullException("deploymentJobStepService");
            }
            _deploymentJobStepService = deploymentJobStepService;

            if (deploymentJobStepTargetService == null)
            {
                throw new ArgumentNullException("deploymentJobStepTargetService");
            }
            _deploymentJobStepTargetService = deploymentJobStepTargetService;

            if (deploymentPlanStepService == null)
            {
                throw new ArgumentNullException("deploymentPlanStepService");
            }
            _deploymentPlanStepService = deploymentPlanStepService;

            if (targetGroupService == null)
            {
                throw new ArgumentNullException("targetGroupService");
            }
            _targetGroupService = targetGroupService;

            if (targetGroupEnvironmentService == null)
            {
                throw new ArgumentNullException("targetGroupEnvironmentService");
            }
            _targetGroupEnvironmentService = targetGroupEnvironmentService;

            if (projectTargetService == null)
            {
                throw new ArgumentNullException("projectTargetService");
            }
            _projectTargetService = projectTargetService;

            if (targetService == null)
            {
                throw new ArgumentNullException("targetService");
            }
            _targetService = targetService;

            if (credentialService == null)
            {
                throw new ArgumentNullException("credentialService");
            }
            _credentialService = credentialService;

            if (scriptService == null)
            {
                throw new ArgumentNullException("scriptService");
            }
            _scriptService = scriptService;

            if (scriptExecutionService == null)
            {
                throw new ArgumentNullException("scriptExecutionService");
            }
            _scriptExecutionService = scriptExecutionService;

            if (projectEnvironmentService == null)
            {
                throw new ArgumentNullException("projectEnvironmentService");
            }
            _projectEnvironmentService = projectEnvironmentService;

            if (variableService == null)
            {
                throw new ArgumentNullException("variableService");
            }
            _variableService = variableService;
        }