public IActionResult RemoverAnexo(EditarExameViewModel viewModel)
 {
     if (!ModelState.IsValid)
     {
         View("Editar", viewModel);
     }
     _exameService.RemoverAnexo(viewModel);
     return(RedirectToAction("Editar", new { Id = viewModel.Id }));
 }
Пример #2
0
        private string ObterTextoDoExameSePdf(EditarExameViewModel viewModel)
        {
            string resultado = "";

            if (viewModel.Formato == Domain.Enums.EFormatoExame.Laudo && viewModel.Upload.FileName.IndexOf(".pdf") >= 0)
            {
                resultado = LerArquivoPdf(viewModel.Upload.OpenReadStream());
            }

            return(resultado);
        }
        public IActionResult Salvar(EditarExameViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("Editar", viewModel));
            }
            var resultado = _exameService.Salvar(viewModel);

            if (resultado)
            {
                return(RedirectToAction("Index"));
            }
            return(View("Editar", viewModel));
        }
Пример #4
0
        public void RemoverAnexo(EditarExameViewModel viewModel)
        {
            var exame = _exameRepository.ObterPorId(viewModel.Id);

            _azureStorageService.Deletar(exame.Url);
            if (ExisteErrosNoModelState())
            {
                return;
            }

            exame.ContentType = null;
            exame.NomeArquivo = null;
            exame.Url         = null;
            _exameRepository.Atualizar(viewModel.Id, exame);
            _uow.Commit();
        }
Пример #5
0
        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);
        }