public object Get(ComponentConfigurationDefinition request) { if(request == null) { throw new ArgumentNullException("request is null"); } else if(string.IsNullOrWhiteSpace(request.ParentId)) { throw new ArgumentNullException("request.parentId is null"); } switch(request.ParentType) { case EnumDeployStepParentType.Component: var component = _projectManager.GetComponent(request.ParentId, request.ProjectId); return _deploymentValidator.GetComponentConfigurationDefinition(component.DeploymentStepList); case EnumDeployStepParentType.Configuration: var configuration = _projectManager.GetConfiguration(request.ParentId, request.ProjectId); return _deploymentValidator.GetComponentConfigurationDefinition(configuration.DeploymentStepList); default: throw new UnknownEnumValueException(request.ParentType); } }
public ComponentConfigurationDefinition GetComponentConfigurationDefinition(List<DeployStep> deploymentStepList) { var returnValue = new ComponentConfigurationDefinition(); if(deploymentStepList != null) { foreach (var deploymentStep in deploymentStepList) { var taskDefinition = _taskFactory.CreateTaskDefinition(deploymentStep.TaskTypeName, deploymentStep.TaskOptionsJson); var environmentList = taskDefinition.GetEnvironmentTaskParameterList(); returnValue.EnvironmentTaskParameterList.AddRange(environmentList); var machineList = taskDefinition.GetMachineTaskParameterList(); returnValue.MachineTaskParameterList.AddRange(machineList); } } return returnValue; }