public PacienteCadastrarViewModel ObterPacienteParaRegistrarConsulta(string id) { var paciente = this.pacienteRepository.BuscarPacientePorId(new Guid(id)); if (paciente == null) { return(null); } PacienteCadastrarViewModel p = new PacienteCadastrarViewModel(paciente.Nome, paciente.NomeSocial, paciente.DataNascimento, paciente.Sexo, paciente.Cpf, paciente.Rg, paciente.Telefone, paciente.Email, new EnderecoViewModel(paciente.Endereco.Cep, paciente.Endereco.Logradouro, paciente.Endereco.Numero, paciente.Endereco.Complemento, paciente.Endereco.Bairro, paciente.Endereco.Localidade, paciente.Endereco.Uf)); return(p); }
public Mensagem CadastrarPaciente(PacienteCadastrarViewModel pacienteCadastrarViewModel) { if (!Regex.IsMatch(pacienteCadastrarViewModel.Cpf, cpfComMascara)) { if (Regex.IsMatch(pacienteCadastrarViewModel.Cpf, cpfSemMascara)) { pacienteCadastrarViewModel.Cpf = pacienteCadastrarViewModel.Cpf.Substring(0, 3) + "." + pacienteCadastrarViewModel.Cpf.Substring(3, 3) + "." + pacienteCadastrarViewModel.Cpf.Substring(6, 3) + "-" + pacienteCadastrarViewModel.Cpf.Substring(9, 2); } else { return(new Mensagem(0, "CPF não possui o formato correto!")); } } if (!Regex.IsMatch(pacienteCadastrarViewModel.Rg, rgComMascara)) { if (Regex.IsMatch(pacienteCadastrarViewModel.Rg, rgSemMascara)) { pacienteCadastrarViewModel.Rg = pacienteCadastrarViewModel.Rg.Substring(0, 2) + "." + pacienteCadastrarViewModel.Rg.Substring(2, 3) + "." + pacienteCadastrarViewModel.Rg.Substring(5, 3) + "-" + pacienteCadastrarViewModel.Rg.Substring(8); } else { return(new Mensagem(0, "RG não possui o formato correto!")); } } if (!Regex.IsMatch(pacienteCadastrarViewModel.Telefone, celularComMascara)) { if (Regex.IsMatch(pacienteCadastrarViewModel.Telefone, celularSemMascara)) { pacienteCadastrarViewModel.Telefone = "(" + pacienteCadastrarViewModel.Telefone.Substring(0, 2) + ")" + pacienteCadastrarViewModel.Telefone.Substring(2, 5) + "-" + pacienteCadastrarViewModel.Telefone.Substring(7); } else { return(new Mensagem(0, "Telefone não possui o formato correto!")); } } if (!Regex.IsMatch(pacienteCadastrarViewModel.Endereco.Cep, cepComMascara)) { if (Regex.IsMatch(pacienteCadastrarViewModel.Endereco.Cep, cepSemMascara)) { pacienteCadastrarViewModel.Endereco.Cep = pacienteCadastrarViewModel.Endereco.Cep.Substring(0, 5) + "-" + pacienteCadastrarViewModel.Endereco.Cep.Substring(5); } else { return(new Mensagem(0, "CEP não possui o formato correto!")); } } if (this.pacienteRepository.BuscarPacientePorCpf(pacienteCadastrarViewModel.Cpf) != null) { return(new Mensagem(0, "Já existe um paciente cadastrado com este CPF!")); } if (this.pacienteRepository.BuscarPacientePorRg(pacienteCadastrarViewModel.Rg) != null) { return(new Mensagem(0, "Já existe um paciente cadastrado com esse RG!")); } if (!(pacienteCadastrarViewModel.DataNascimento <= DateTime.Now)) { return(new Mensagem(0, "A data de nascimento não pode ser uma data que ainda não ocorreu!")); } bool resultado = true; Endereco endereco = new Endereco(pacienteCadastrarViewModel.Endereco.Cep, pacienteCadastrarViewModel.Endereco.Logradouro, pacienteCadastrarViewModel.Endereco.Numero, pacienteCadastrarViewModel.Endereco.Complemento, pacienteCadastrarViewModel.Endereco.Bairro, pacienteCadastrarViewModel.Endereco.Localidade, pacienteCadastrarViewModel.Endereco.Uf); Guid id = this.enderecoRepository.BuscaIdEndereco(endereco); if (id == Guid.Empty) { resultado = this.enderecoRepository.CadastrarEndereco(endereco); id = this.enderecoRepository.BuscaIdEndereco(endereco); } if (!resultado) { return(new Mensagem(0, "Falha ao cadastrar paciente!")); } Paciente paciente = new Paciente(pacienteCadastrarViewModel.Nome, pacienteCadastrarViewModel.NomeSocial, pacienteCadastrarViewModel.DataNascimento, pacienteCadastrarViewModel.Sexo, pacienteCadastrarViewModel.Cpf, pacienteCadastrarViewModel.Rg, pacienteCadastrarViewModel.Telefone, pacienteCadastrarViewModel.Email, id); resultado = this.pacienteRepository.CadastrarPaciente(paciente); if (!resultado) { return(new Mensagem(0, "Falha ao cadastrar paciente!")); } return(new Mensagem(1, "Paciente cadastrado com sucesso!")); }
public Mensagem CadastrarPaciente([FromBody] PacienteCadastrarViewModel pacienteCadastrarViewModel) { return(this.pacienteService.CadastrarPaciente(pacienteCadastrarViewModel)); }