Esempio n. 1
0
        public async Task <ActionResult> Put(Guid id, AlunoComImagemModel model)
        {
            if (id != model.Id)
            {
                return(BadRequest(new BadRequestResponse("O id da rota precisa ser igual ao id do aluno")));
            }

            var alunoBanco = await _repositorio.ObterPorId(id);

            if (alunoBanco == null)
            {
                return(NotFound(new NotFoundResponse("Aluno não localizado na base de dados")));
            }

            string prefixo;

            if (model.ImagemUpload != null)
            {
                prefixo      = Guid.NewGuid() + "_";
                model.Imagem = prefixo + model.ImagemUpload.FileName;
                if (!await _arquivoServico.Upload(model.ImagemUpload, prefixo))
                {
                    return(BadRequest(new BadRequestResponse(_mensagemErro, _notificador.ObterNotificacoes(), model)));
                }
            }

            var imagemAntiga = alunoBanco.Imagem;
            var aluno        = _mapper.Map <Aluno>(model);

            alunoBanco.MergearDados(aluno);
            if (await _servico.Editar(alunoBanco))
            {
                if (model.ImagemUpload != null)
                {
                    _arquivoServico.Remover(imagemAntiga);
                }
                return(Ok(new OkResponse("Aluno atualizado com sucesso", model)));
            }

            if (model.ImagemUpload != null)
            {
                _arquivoServico.Remover(model.Imagem);
            }
            return(BadRequest(new BadRequestResponse(_mensagemErro, _notificador.ObterNotificacoes(), model)));
        }
Esempio n. 2
0
        public async Task <ActionResult> Post(AlunoComImagemModel model)
        {
            var prefixo = Guid.NewGuid() + "_";

            model.Imagem = prefixo + model.ImagemUpload.FileName;

            if (!await _arquivoServico.Upload(model.ImagemUpload, prefixo))
            {
                return(BadRequest(new BadRequestResponse(_mensagemErro, _notificador.ObterNotificacoes(), model)));
            }

            var aluno = _mapper.Map <Aluno>(model);

            if (await _servico.Incluir(aluno))
            {
                return(Ok(new OkResponse("Aluno cadastrado com sucesso", aluno)));
            }

            _arquivoServico.Remover(model.Imagem);
            return(BadRequest(new BadRequestResponse(_mensagemErro, _notificador.ObterNotificacoes(), model)));
        }