Beispiel #1
0
        public string Create_project(CreateProjectRequestDto req)
        {
            var projectId = Create_project_id();
            var prj       = new Project
            {
                Id                = projectId,
                Title             = req.Title,
                ProductOwnerEmail = req.ProductOwnerEmail,
                Items             = req.Items,
                SummaryPageUrl    = Replace_in_url_schema("{projectId}", req.SummaryPageUrlSchema, projectId),
                RearrangePageUrl  = Replace_in_url_schema("{projectId}", req.RearrangePageUrlSchema, projectId)
            };

            _repo.Create(prj);

            Send_project_creation_notification(prj);

            return(projectId);


            string Create_project_id()
            => string.IsNullOrEmpty(req.Id)
                    ? Guid.NewGuid().ToString()
                    : req.Id;

            string Replace_in_url_schema(string pattern, string urlSchema, string value)
            => urlSchema.ToLower().Replace(pattern.ToLower(), value);
        }
Beispiel #2
0
        public async Task <ActionResult <CreateProjectResponseDto> > CreateProject(CreateProjectRequestDto dto, [FromServices] ICreateProjectUseCase useCase)
        {
            var result = await useCase.Handle(new CreateProjectRequest(dto.Name, dto.RsaKeyStorage, dto.RsaKeyPassword));

            if (useCase.HasError)
            {
                return(useCase.ToActionResult());
            }

            return(new CreateProjectResponseDto(result !.ProjectId, result.AsymmetricKey));
        }
Beispiel #3
0
        public async Task <HttpOperationResult <ProjectDto> > CreateAsync([FromBody] CreateProjectRequestDto createProjectRequestDto)
        {
            logger.LogInformation($"Start execution method '{nameof(CreateAsync)}'");
            logger.LogInformation($"CreateProjectRequestDto: '{createProjectRequestDto}'");

            if (!createProjectRequestDto.GitUrl.ToString().StartsWith("https://"))
            {
                return(HttpOperationResult <ProjectDto> .BadRequest("Elevator only support git url witch starts with 'https://'"));
            }

            var project = await projectService.CreateAsync(createProjectRequestDto.ToServiceProject(), CurrentUser);

            var resultDto = ModelsMapper.ConvertProjectServiceModelToDtoModel(project);

            return(HttpOperationResult <ProjectDto> .Created(resultDto));
        }
        public async void CreateProject_should_return_ProjectResponseDto_dto()
        {
            CreateProjectRequestDto projectDto = new CreateProjectRequestDto();

            projectDto.Name        = "Name";
            projectDto.Description = "Description";
            projectDto.CreatedBy   = Guid.Parse("ab2bd817-98cd-4cf3-a80a-53ea0cd9c100");

            var result = await _controller.CreateProject(projectDto) as OkObjectResult;

            var project = Assert.IsType <ProjectResponseDto>(result.Value);

            Assert.Equal("Name", project.Name);
            Assert.Equal("Description", project.Description);
            Assert.Equal(200, result.StatusCode);
        }
        public async Task <ProjectResponseDto> CreateProject(CreateProjectRequestDto createProjectRequestDto)
        {
            _logger.LogInfo("Creating new project ...");

            var project = _mapper.Map <Project>(createProjectRequestDto);
            await _projectRepository.CreateProject(project);

            if (await _projectRepository.SaveAll())
            {
                return(_mapper.Map <ProjectResponseDto>(project));
            }
            else
            {
                _logger.LogError("Something went wront while trying to create new project ...");
                throw new UnknownException("Something went wront while trying to create new project.", DomainConsts.APPLICATION_NAME);
            }
        }
 public async Task <IActionResult> CreateProject([FromBody] CreateProjectRequestDto createProjectRequestDto)
 {
     return(Ok(await _projectService.CreateProject(createProjectRequestDto)));
 }
Beispiel #7
0
        public async Task <ProjectResponseDto> CreateProject(CreateProjectRequestDto createProjectRequestDto)
        {
            await Task.Delay(10);

            return(_projects.ElementAt(0));
        }
Beispiel #8
0
 /// <summary>
 /// Creates a Project in Ansible Tower
 /// </summary>
 /// <param name="authenticationToken"></param>
 /// <param name="credentialRequest"></param>
 /// <returns></returns>
 public Task <GetProjectsRequestDto> CreateProject(string authenticationToken, CreateProjectRequestDto credentialRequest)
 {
     return(PostAnsible <GetProjectsRequestDto>(authenticationToken, AnsibleTowerInstance.ApiDefinition.credentials, credentialRequest));
 }
Beispiel #9
0
        public async Task <ActionResult> Project_Create([DataSourceRequest] DataSourceRequest request, CreateProjectRequestDto projectData)
        {
            HttpClient client = new HttpClient();

            if (projectData != null && ModelState.IsValid)
            {
                HttpResponseMessage response = await client.PostAsJsonAsync(
                    $"https://uxexternalapi.azurewebsites.net/projects/", projectData);

                response.EnsureSuccessStatusCode();

                // return URI of the created resource.
            }

            return(Json(new[] { projectData }.ToDataSourceResult(request, ModelState)));
        }
Beispiel #10
0
 public static Project ToServiceProject(this CreateProjectRequestDto createProjectRequestDto) => new Project
 {
     Name       = createProjectRequestDto.Name,
     GitToken   = createProjectRequestDto.GitToken,
     ProjectUri = createProjectRequestDto.GitUrl
 };
Beispiel #11
0
        public string Create_project([Payload] CreateProjectRequestDto req)
        {
            Console.WriteLine($"create project:{req.Id}:{req.Title}, {req.ProductOwnerEmail}, {req.Items.Length} items");

            return(__RequestHandler().Create_project(req));
        }
Beispiel #12
0
 public async Task <IActionResult> Projects([FromHeader] string authenticationToken, CreateProjectRequestDto createCredentialRequest)
 {
     Devon4NetLogger.Debug("Executing Login from controller AnsibleTowerController");
     return(Ok(await AnsibleTowerHandler.CreateProject(authenticationToken, createCredentialRequest)));
 }