public async Task <IActionResult> PostAsync([FromBody] SaveAlunoResource resource) { if (User.Identity.IsAuthenticated) { var userName = User.Identity.Name; } if (UsuarioAutenticado) { var userName = UsuarioId; //Se eu precisar das infos do usuario (como Id), posso usar essa implementacao } if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var aluno = _mapper.Map <SaveAlunoResource, Aluno>(resource); var result = await _alunoService.SaveAsync(aluno); if (!result.Success) { return(BadRequest(result.Message)); } var alunoResource = _mapper.Map <Aluno, AlunoResource>(result.Aluno); return(Ok(alunoResource)); }
public async Task <IActionResult> CreateAluno([FromBody] SaveAlunoResource alunoResource) { var aluno = mapper.Map <SaveAlunoResource, Aluno>(alunoResource); context.Alunos.Add(aluno); await context.SaveChangesAsync(); aluno = await context.Alunos .Include(a => a.Compras) .SingleOrDefaultAsync(a => a.Id == aluno.Id); var result = mapper.Map <Aluno, AlunoResource>(aluno); return(Ok(result)); }
public async Task <IActionResult> PutAsync(Guid id, [FromBody] SaveAlunoResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var aluno = _mapper.Map <SaveAlunoResource, Aluno>(resource); var result = await _alunoService.UpdateAsync(id, aluno); if (!result.Success) { return(BadRequest(result.Message)); } var alunoResource = _mapper.Map <Aluno, AlunoResource>(result.Aluno); return(Ok(alunoResource)); }
public async Task <IActionResult> UpdateAluno(int id, [FromBody] SaveAlunoResource alunoResource) { var aluno = await context.Alunos.FindAsync(id); if (aluno == null) { return(NotFound()); } mapper.Map <SaveAlunoResource, Aluno>(alunoResource, aluno); await context.SaveChangesAsync(); aluno = await context.Alunos .Include(a => a.Compras) .FirstOrDefaultAsync(a => a.Id == aluno.Id); var result = mapper.Map <Aluno, AlunoResource>(aluno); return(Ok(result)); }