Example #1
0
        public async Task <IActionResult> CreateTarefaForCategoria(Guid categoriaId, [FromBody] TarefaForCreationDto tarefa)
        {
            var categoria = await _repository.Categoria.GetCategoriaAsync(categoriaId, trackChanges : false);

            if (categoria == null)
            {
                _logger.LogInfo($"Categoria with id: {categoriaId} doesn't exist in the database.");
                return(NotFound());
            }
            var tarefaEntity = _mapper.Map <Tarefa>(tarefa);

            _repository.Tarefa.CreateTarefaForCategoria(categoriaId, tarefaEntity);
            await _repository.SaveAsync();

            var tarefaToReturn = _mapper.Map <TarefaDto>(tarefaEntity);

            return(CreatedAtRoute(
                       "GetTarefaPorCategoria",
                       new
            {
                categoriaId,
                id = tarefaToReturn.Id
            },
                       tarefaToReturn));
        }
        public async Task <IActionResult> CreateTarefaAsync([FromBody] TarefaForCreationDto tarefa)
        {
            var categoria = HttpContext.Items["categoria"] as Categoria;

            var tarefaEntity = _mapper.Map <Tarefa>(tarefa);

            _repository.Tarefa.CreateTarefaForCategoria(categoria.Id, tarefaEntity);
            await _repository.SaveAsync();

            var tarefaToReturn = _mapper.Map <TarefaDto>(tarefaEntity);

            return(CreatedAtRoute("TarefaById", new { id = tarefaToReturn.Id }, tarefaToReturn));
        }