/// <summary> /// Executes the activity. /// </summary> /// <param name="context">The context.</param> /// <returns> /// A <see cref="BuildVersionDetails"/> instance representing the generated version. /// </returns> protected override BuildVersionDetails Execute(CodeActivityContext context) { // Validate required input properties. var connectionString = DatabaseConnectionString.Get(context); if (string.IsNullOrWhiteSpace(connectionString)) { throw new InvalidOperationException("The DatabaseConnectionString property is required and cannot be null, empty or whitespace."); } var projectName = ProjectName.Get(context); if (string.IsNullOrWhiteSpace(projectName)) { throw new InvalidOperationException("The ProjectName property is required and cannot be null, empty or whitespace."); } var projectConfigName = ProjectConfigName.Get(context); if (string.IsNullOrWhiteSpace(projectConfigName)) { throw new InvalidOperationException("The ProjectConfigName property is required and cannot be null, empty or whitespace."); } var buildDetail = context.GetExtension <IBuildDetail>(); var buildDefinitionName = buildDetail.BuildDefinition.Name; var commandLog = new CodeActivityContextCommandLog(context); var lockTimeoutSeconds = LockTimeoutSeconds.Get(context); var requestedBy = buildDetail.RequestedBy; var teamProject = buildDetail.TeamProject; var command = new CreateVersionCommand { BuildDefinitionName = buildDefinitionName, CommandLog = commandLog, ConnectionString = connectionString, LockTimeoutSeconds = lockTimeoutSeconds, ProjectConfigName = projectConfigName, ProjectName = projectName, RequestedBy = requestedBy, TeamProjectName = teamProject }; var versionDetails = command.Execute(); // Execute optional features. SetBuildNumber(context, buildDetail, versionDetails); SetDropLocation(context, buildDetail, versionDetails, projectName); // Save any changes to the build detail instance. buildDetail.Save(); // Map the IVersionDetails instance to an instance of BuildVersionDetails. var buildVersionDetails = BuildVersionDetails.FromIVersionDetails(versionDetails); // Return the result. return(buildVersionDetails); }
protected virtual CreateVersionCommand CreateNewCreateVersionCommand( string buildDefinitionName = null, string connectionString = null, string projectName = null, string projectConfigName = null, string requestedBy = null, string teamProjectName = null ) { if (string.IsNullOrWhiteSpace(buildDefinitionName)) buildDefinitionName = TestBuildDefinitionName; if (string.IsNullOrWhiteSpace(connectionString)) connectionString = GetConfiguredConnectionString(); if (string.IsNullOrWhiteSpace(projectName)) projectName = TestProjectName; if (string.IsNullOrWhiteSpace(projectConfigName)) projectConfigName = TestProjectConfigName; if (string.IsNullOrWhiteSpace(requestedBy)) requestedBy = TestRequestedBy; if (string.IsNullOrWhiteSpace(teamProjectName)) teamProjectName = TestTeamProjectName; var log = new NullCommandLog(); var command = new CreateVersionCommand { BuildDefinitionName = buildDefinitionName, ConnectionString = connectionString, CommandLog = log, ProjectName = projectName, ProjectConfigName = projectConfigName, RequestedBy = requestedBy, TeamProjectName = teamProjectName }; return command; }
public async Task <ActionResult <string> > Create(CreateVersionCommand command) { return(await Mediator.Send(command)); }