[HttpDelete("projects/{projectID}", Name = "DeleteProjectById")] //TODO need a way to verify user via auth (do later) public async Task <ActionResult> DeleteProjectById(string projectID) { ProjectModel projectModel = await _projectService.DeleteProjectById(projectID); ProjectGetDto projectGetDto = _mapper.Map <ProjectGetDto>(projectModel); return(Ok(projectGetDto)); }
public async Task <ActionResult <ProjectGetDto> > UpdateProjectById(string projectID, ProjectPostDto projectPostDto) { ProjectModel updatedProjectModel = await _projectService.UpdateProjectByProjectIdAsync(projectID, projectPostDto); ProjectGetDto projectGetDto = _mapper.Map <ProjectGetDto>(updatedProjectModel); return(CreatedAtAction("GetSingleProjectById", new { projectID = projectGetDto.ProjectId }, projectGetDto)); }
public async Task <ActionResult <ProjectGetDto> > CreateProject(ProjectPostDto projectPostDto) { if (ModelState.IsValid) { ProjectModel projectModel = _mapper.Map <ProjectModel>(projectPostDto); await _projectService.AddProject(projectModel); ProjectGetDto projectGetDto = _mapper.Map <ProjectGetDto>(projectModel); return(CreatedAtAction("GetSingleProjectById", new { ProjectID = projectGetDto.ProjectId }, projectGetDto)); } IEnumerable <string> errorList = ModelState.SelectMany(m => m.Value.Errors.Select(e => e.ErrorMessage)); return(Ok(errorList)); }