public IActionResult Create(ExameViewModel exameViewModel)
        {
            ViewBag.googleKey      = _configuration["GOOGLE_KEY"];
            ViewBag.VirusBacteria  = new SelectList(_virusBacteriaContext.GetAll(), "IdVirusBacteria", "Nome");
            ViewBag.AreaAtuacao    = new SelectList(_areaAtuacaoContext.GetAll(), "IdAreaAtuacao", "Descricao");
            exameViewModel.Usuario = _usuarioContext.RetornLoggedUser((ClaimsIdentity)User.Identity).UsuarioModel;

            try
            {
                if (exameViewModel.PesquisarCpf == 1)
                {
                    var cpf    = Methods.RemoveSpecialsCaracts(exameViewModel.Paciente.Cpf);                  // cpf sem caracteres especiais
                    var pessoa = _pessoaContext.GetByCpf(cpf);
                    if (pessoa != null)
                    {
                        exameViewModel.Paciente = pessoa;
                        ModelState.Clear();
                        return(View(exameViewModel));
                    }
                    else
                    {
                        var exameVazio = new ExameViewModel();
                        exameVazio.Paciente.Cpf = exameViewModel.Paciente.Cpf;
                        ModelState.Clear();
                        return(View(exameVazio));
                    }
                }
                else
                {
                    if (ModelState.IsValid)
                    {
                        //_exameContext.CorrigeLocalizacao(exameViewModel.Paciente, _configuration["GOOGLE_KEY"]);

                        if (_exameContext.Insert(exameViewModel))
                        {
                            TempData["mensagemSucesso"] = "Notificação realizada com SUCESSO!";
                        }
                        else
                        {
                            TempData["mensagemErro"] = "Notificação DUPLICADA! Já existe um exame registrado desse paciente para esse Vírus/Bactéria na " +
                                                       "data informada e método aplicado. Por favor, verifique se os dados da notificação estão corretos.";
                        }
                    }
                    else
                    {
                        return(View(exameViewModel));
                    }
                }
            } catch (ServiceException se)
            {
                TempData["mensagemErro"] = se.Message;
            }

            return(RedirectToAction(nameof(Create)));
        }
        public IActionResult Create(ExameViewModel exameViewModel)
        {
            ViewBag.googleKey      = _configuration["GOOGLE_KEY"];
            ViewBag.VirusBacteria  = new SelectList(_virusBacteriaContext.GetAll(), "IdVirusBacteria", "Nome");
            ViewBag.AreaAtuacao    = new SelectList(_areaAtuacaoContext.GetAll(), "IdAreaAtuacao", "Descricao");
            exameViewModel.Usuario = _usuarioContext.RetornLoggedUser((ClaimsIdentity)User.Identity).UsuarioModel;

            try
            {
                if (exameViewModel.PesquisarCpf == 1)
                {
                    var cpf    = Methods.RemoveSpecialsCaracts(exameViewModel.Paciente.Cpf);                  // cpf sem caracteres especiais
                    var pessoa = _pessoaContext.GetByCpf(cpf);
                    if (pessoa != null)
                    {
                        exameViewModel.Paciente = pessoa;
                        ModelState.Clear();
                        return(View(exameViewModel));
                    }
                    else
                    {
                        var exameVazio = new ExameViewModel();
                        exameVazio.Paciente.Cpf = exameViewModel.Paciente.Cpf;
                        return(View(exameVazio));
                    }
                }
                else
                {
                    if (ModelState.IsValid)
                    {
                        _exameContext.Insert(exameViewModel);
                        TempData["mensagemSucesso"] = "Notificação realizada com SUCESSO!";
                    }
                    else
                    {
                        return(View(exameViewModel));
                    }
                }
            } catch (ServiceException se)
            {
                TempData["mensagemErro"] = se.Message;
            }

            return(RedirectToAction(nameof(Create)));
        }
Example #3
0
 public void Insert(ExameInsertDTO exame)
 {
     service.Insert(exame);
 }