示例#1
0
        public Result <bool> SalvaPaciente(PacienteModel model)
        {
            var result = new Result <bool>();

            result.Value  = false;
            result.Status = false;

            var cpfExisteEmOutroPaciente = ValidaExistenciaCpfPaciente(model);

            if (cpfExisteEmOutroPaciente.Item2)
            {
                result = cpfExisteEmOutroPaciente.Item1;
            }
            else
            {
                model.Pessoa.Ativo = true;
                model.Excluido     = false;
                if (model.Id == 0)
                {
                    model = _pacienteRepository.Salvar(model);
                    if (model.Id != 0)
                    {
                        result.Message = "Paciente salvo com sucesso!";
                        result.Value   = true;
                        result.Status  = true;
                    }
                    else
                    {
                        result.Message = "Falha ao salvar o Paciente!";
                    }
                }
                else
                {
                    result.Value = _pacienteRepository.Atualizar(model);

                    if (result.Value)
                    {
                        result.Message = "Paciente atualizado com sucesso!";
                        result.Value   = true;
                        result.Status  = true;
                    }
                    else
                    {
                        result.Message = "Falha ao atualizar o Paciente!";
                    }
                }
            }

            return(result);
        }
        public IActionResult Put(int id, Paciente pacienteAtualizado)
        {
            try
            {
                Paciente pacienteBuscado = _pacienteRepository.BuscarPorId(pacienteAtualizado.IdPaciente);

                if (pacienteBuscado != null)
                {
                    Paciente pacienteCPF = _pacienteRepository.BuscarPorCPF(pacienteAtualizado.Cpf);

                    Paciente pacienteRG = _pacienteRepository.BuscarPorRG(pacienteAtualizado.Rg);

                    if (pacienteCPF == null)
                    {
                        if (pacienteRG == null)
                        {
                            if (pacienteCPF == null && pacienteRG == null)
                            {
                                _pacienteRepository.Atualizar(id, pacienteAtualizado);

                                return(StatusCode(204));
                            }
                        }
                        return(BadRequest("Não foi possível atualizar, RG já existente!"));
                    }
                    return(BadRequest("Não foi possível atualizar, CPF já existente!"));
                }
                return(BadRequest("Nenhum paciente encontrado!"));
            }
            catch (Exception codErro)
            {
                return(BadRequest(codErro));
            }
        }
示例#3
0
        public async Task <IActionResult> Edit(Guid id, PacienteViewModel pacienteViewModel)
        {
            if (id != pacienteViewModel.Id)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(View(pacienteViewModel));
            }

            pacienteViewModel.CPF      = pacienteViewModel.CPF.ApenasNumeros();
            pacienteViewModel.Telefone = pacienteViewModel.Telefone.ApenasNumeros();

            if (!await _usuarioService.AtualizeEmail(pacienteViewModel.UsuarioId, pacienteViewModel.Email))
            {
                ModelState.AddModelError(string.Empty, "Não foi possível atualizar o email.");
                return(View(pacienteViewModel));
            }

            if (!await _usuarioService.AtualizeSenha(pacienteViewModel.UsuarioId, pacienteViewModel.SenhaAntiga, pacienteViewModel.Senha))
            {
                ModelState.AddModelError(string.Empty, "Não foi possível atualizar a senha.");
                return(View(pacienteViewModel));
            }

            var paciente = _mapper.Map <Paciente>(pacienteViewModel);
            await _pacienteRepository.Atualizar(paciente);

            return(RedirectToAction("Index"));
        }
示例#4
0
        public async Task <IActionResult> Edit(Guid id, PacienteViewModel pacienteViewModel)
        {
            if (id != pacienteViewModel.Id)
            {
                return(NotFound());
            }

            //falta inserir todos os campos para edição.
            var pacienteAtualizacao = await ObterPacienteEndereco(id);

            pacienteAtualizacao.Nome            = pacienteViewModel.Nome;
            pacienteAtualizacao.Sexo            = pacienteViewModel.Sexo;
            pacienteAtualizacao.Idade           = pacienteViewModel.Idade;
            pacienteAtualizacao.IndicadoPor     = pacienteViewModel.IndicadoPor;
            pacienteAtualizacao.Nascimento      = pacienteViewModel.Nascimento;
            pacienteAtualizacao.Endereco.Bairro = pacienteViewModel.Endereco.Bairro;
            pacienteAtualizacao.Endereco.Cep    = pacienteViewModel.Endereco.Cep;
            pacienteAtualizacao.Endereco.Cidade = pacienteViewModel.Endereco.Cidade;
            pacienteAtualizacao.Endereco.Estado = pacienteViewModel.Endereco.Estado;
            if (!ModelState.IsValid)
            {
                return(View(pacienteAtualizacao));
            }



            await _pacienteRepository.Atualizar(_mapper.Map <Paciente>(pacienteAtualizacao));

            return(RedirectToAction("Index"));
        }
示例#5
0
        public IActionResult Editar(Paciente paciente)
        {
            _pacienteRepository.Atualizar(paciente);
            _pacienteRepository.Salvar();
            TempData["msg"] = "Paciente Atualizado";

            return(RedirectToAction("index"));
        }
示例#6
0
        public Paciente AtualizarNomeCpfPaciente(Guid id, string nome, string cpf)
        {
            var pacienteAtualizar = _pacienteRepository.ObterPorId(id);

            pacienteAtualizar.AlterarNome(nome);
            pacienteAtualizar.AlterarCpf(cpf);

            _pacienteRepository.Atualizar(pacienteAtualizar);
            _pacienteRepository.Salvar();

            return(pacienteAtualizar);
        }
        public ActionResult <Paciente> Put(int id, Paciente paciente)
        {
            var p = _pacienteRepository.Pesquisar(id);

            if (p == null)
            {
                return(NotFound());
            }

            paciente.PacienteId = id;
            _pacienteRepository.Atualizar(paciente);
            _pacienteRepository.Salvar();

            return(Ok(paciente));  //Status 200 ok
        }
        public async Task Atualizar(Paciente paciente)
        {
            if (!ExecutarValidacao(new PacienteValidation(), paciente))
            {
                return;
            }

            if (_pacienteRepository.Buscar(p => p.Cpf == paciente.Cpf).Result.Any())
            {
                Notificar("Já existe um paciente com o CPF informado.");
                return;
            }

            await _pacienteRepository.Atualizar(paciente);
        }
示例#9
0
        public async Task <IActionResult> Edit(Guid id, PacienteViewModel pacienteViewModel)
        {
            if (id != pacienteViewModel.Id)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(View(pacienteViewModel));
            }

            var fornecedor = _mapper.Map <Paciente>(pacienteViewModel);
            await _pacienteRepository.Atualizar(fornecedor);

            return(RedirectToAction("Index"));
        }
示例#10
0
        public async Task <IActionResult> Put([FromBody] ToEntityPacienteViewModel pacienteViewModel)
        {
            if (!ModelState.IsValid)
            {
                _logger.Error($"Erro: {_httpContextAccessor.HttpContext.Connection.RemoteIpAddress} - Parâmetros inválidos.");
                return(StatusCode(400, "Parâmetros da chamada inválidos"));
            }

            try
            {
                _logger.Information("Inciando o processo de atualização do paciente.");

                var paciente_obtido = _pacienteRepository.ObterPorId(pacienteViewModel.Id);

                if (paciente_obtido == null)
                {
                    _logger.Error($"Erro: {_httpContextAccessor.HttpContext.Connection.RemoteIpAddress} - Paciente não localizado na base de dados.");
                    return(StatusCode(404, "Paciente inválido"));
                }

                var paciente = _mapper.Map <Paciente>(pacienteViewModel);

                if (!_pacienteValidator.Validate(paciente).IsValid)
                {
                    _logger.Error($"Erro: {_httpContextAccessor.HttpContext.Connection.RemoteIpAddress} - Entidade inválida.");
                    return(StatusCode(400, _pacienteValidator.Validate(paciente).Errors.ToList()));
                }

                _pacienteRepository.Atualizar(paciente);

                return(Ok(new { message = "Paciente atualizado com sucesso.", data = paciente }));
            }
            catch (Exception ex)
            {
                _logger.Error($"Erro: {_httpContextAccessor.HttpContext.Connection.RemoteIpAddress} - Algo deu errado ao atualizar o paciente: {ex.Message}");
                return(StatusCode(500, "Internal server error"));
            }
        }
 public void Atualizar(Paciente entidade)
 {
     _pacienteRepository.Atualizar(entidade);
 }