Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        public IActionResult Index()
        {
            var whitelistViewModel = new WhitelistViewModel();

            return(View(whitelistViewModel));
        }