public async Task <ActionResult <ProjectItemResource> > CreateProjectItem(SaveProjectItemResource saveProjectItemResource) { //GET Current user var userId = User.Identity.Name; // Validation var validation = new SaveProjectItemResourceValidator(); var validationResult = await validation.ValidateAsync(saveProjectItemResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } // mappage de SaveProjectItemResource vers ProjectItem var projectItem = _mapperService.Map <SaveProjectItemResource, ProjectItem>(saveProjectItemResource); // Creation newProjectItem var newProjectItem = await _serviceProjectItem.CreateProjectItem(projectItem); // mappage de ProjectItem vers ProjectItemResource var projectItemResource = _mapperService.Map <ProjectItem, ProjectItemResource>(newProjectItem); return(Ok(projectItemResource)); }
public async Task <ActionResult <ProjectItemResource> > UpdateProjectItem(Guid id, SaveProjectItemResource saveProjectItemResource) { /// validation var validation = new SaveProjectItemResourceValidator(); var validationResult = await validation.ValidateAsync(saveProjectItemResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } // si la ProjectItem existe depuis le id var projectItemUpdate = await _serviceProjectItem.GetProjectItemById(id); if (projectItemUpdate == null) { return(BadRequest("Project n'existe pas ")); } var projectItem = _mapperService.Map <SaveProjectItemResource, ProjectItem>(saveProjectItemResource); await _serviceProjectItem.UpdateProjectItem(projectItemUpdate, projectItem); var projectItemUpdateNew = await _serviceProjectItem.GetProjectItemById(id); var projectItemResourceUpdate = _mapperService.Map <ProjectItem, SaveProjectItemResource>(projectItemUpdateNew); return(Ok(projectItemResourceUpdate)); }