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))); }
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))); }