public async Task <Response <ProjectDto> > Handle(ProjectsCreateCommand request, CancellationToken cancellationToken) { var entity = _mapper.Map <ProjectCreateDto, Domain.Project>(request.Dto); var entitiesEntry = await _context.Projects.AddIfNotExistsAsync(entity, x => x.Name == entity.Name, cancellationToken); var result = await _context.SaveChangesAsync(cancellationToken); var entitySaved = _mapper.Map <Domain.Project, ProjectDto>(entity); var response = new Response <ProjectDto>(entitySaved); return(response); }
public async Task <HttpResponseMessage> PostAsync <TBody>(string path, [FromBody] ProjectCreateDto dto) { _logger.LogInformation($"POST: Creating resource of type {typeof(TBody).Name}"); var command = new ProjectsCreateCommand(dto); var response = await _mediator.Send(command); var result = new HttpResponseMessage { StatusCode = System.Net.HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(response.Data), System.Text.Encoding.UTF8, "application/json") }; return(result); }