public async Task <ActionResult <ReleaseViewModel> > CreateRelease(ReleaseCreateViewModel release, Guid publicationId) { release.PublicationId = publicationId; return(await _releaseService .CreateRelease(release) .HandleFailuresOrOk()); }
public async Task <IActionResult> StartRelease(WhitelistViewModel whitelistViewModel) { if (!ModelState.IsValid) { _logger.LogError("Invalid Model State"); return(View("Index", whitelistViewModel)); } if (String.IsNullOrEmpty(whitelistViewModel.IpAddress)) { _logger.LogError("IP Address cannot be null"); return(new BadRequestResult()); } var whiteListDefinition = await _releaseService.GetReleaseAsync(WhitelistConstants.ReleaseDefinitionId); if (whiteListDefinition == null) { _logger.LogError($"Release with Id {WhitelistConstants.ReleaseDefinitionId} not found!"); return(new NotFoundResult()); } _logger.LogInformation($"Creating release: {whiteListDefinition.ReleaseName}"); var overrideParameters = SetupOverrideVariables(whitelistViewModel.IpAddress, this.Request.HttpContext.User.Claims); var release = await _releaseService.CreateRelease(whiteListDefinition.Id, overrideParameters); TempData.Put("model", new { releaseId = release.Id, releaseDefinitionId = release.ReleaseDefininitionId }); foreach (var environmentDefinitionId in whitelistViewModel.SelectedEnvironmentIds) { var environmentId = release.ReleaseEnvironments.Single(x => x.DefinitionId == environmentDefinitionId).EnvironmentReleaseId; await _releaseService.StartEnvironmentDeployment(release, environmentId); } return(RedirectToAction(WhitelistRouteNames.StartedWhitelist)); }
public string CreateRelease([FromBody] ReleaseCreateCommand command) { return(_releaseService.CreateRelease(command)); }