public bool Salvar(EditarExameViewModel viewModel) { if (viewModel.Upload != null) { var tamanho = viewModel.Upload.Length / 1000000; if (tamanho > 30) { AdicionarErroModelState("Seu plano não suporta arquivos maiores de 30mb, por favor escolha um arquivo menor"); return(false); } } var exameTipo = _exameTipoRepository.InsereSeNaoExistir(viewModel.TipoOutro); if (string.IsNullOrEmpty(viewModel.Id)) { var novoExame = _mapper.Map <Exame>(viewModel); novoExame.TipoId = exameTipo.Id; novoExame.TipoOutro = exameTipo.Nome; if (viewModel.Upload != null) { novoExame.NomeArquivo = viewModel.Upload.FileName; novoExame.ContentType = viewModel.Upload.ContentType; string path = _azureStorageService.Upload(viewModel.Upload.OpenReadStream(), viewModel.Upload.FileName); if (ExisteErrosNoModelState()) { return(false); } novoExame.Url = path; novoExame.Resultado = ObterTextoDoExameSePdf(viewModel); } _exameRepository.Inserir(novoExame); var novoResultado = _uow.Commit(); return(novoResultado); } var exame = _exameRepository.ObterPorId(viewModel.Id); if (exame == null) { return(false); } var exameAtualizado = _mapper.Map <Exame>(viewModel); exameAtualizado.TipoId = exameTipo.Id; exameAtualizado.TipoOutro = exameTipo.Nome; if (viewModel.Upload != null) { exameAtualizado.NomeArquivo = viewModel.Upload.FileName; exameAtualizado.ContentType = viewModel.Upload.ContentType; string path = _azureStorageService.Upload(viewModel.Upload.OpenReadStream(), viewModel.Upload.FileName); exameAtualizado.Resultado = ObterTextoDoExameSePdf(viewModel); if (ExisteErrosNoModelState()) { return(false); } exameAtualizado.Url = path; } _exameRepository.Atualizar(viewModel.Id, exameAtualizado); var atualizacaoResultado = _uow.Commit(); return(atualizacaoResultado); }
public IActionResult Post([FromBody] Exame exame) { _exameRepository.Inserir(exame); Commit(); return(Resposta()); }