コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }