public A1Usuario BuscarUsuarioPorCPF(string numeroCpf) { A1Usuario usuario = new A1Usuario(); try { List <string> includes = new List <string>(); includes.Add("A3InformacaoCadastro"); var usuarioPesquisado = _usuarioRepositorio.Find(c => c.A1UsuarioNumeroCpf == numeroCpf, includes); if (usuarioPesquisado == null) { usuario.Mensagens = new List <Mensagem>(); usuario.Mensagens.Add(Util.AdicionarMensagem(TipoMensagem.Atencao, Common.MensagensSistema.MsgsSistema.MsgUsuarioNaoExiste)); return(usuario); } else { return(usuarioPesquisado); } } catch (Exception ex) { usuario = new A1Usuario(); usuario.Mensagens = new List <Mensagem>(); usuario.Mensagens.Add(Util.AdicionarMensagem(TipoMensagem.Erro, ex.Message)); return(usuario); } }
public void CriarLogin() { A1Usuario usuario = new A1Usuario(); usuario.A1UsuarioNome = "TESTE2"; usuario.A1UsuarioNumeroCpf = "33333333344"; usuario.A1UsuarioSenha = "123456"; A3InformacaoCadastro informacao = new A3InformacaoCadastro(); informacao.A3InformacaoCadastroCelular = "11955556666"; informacao.A3InformacaoCadastroDataNascimento = new DateTime(1988, 9, 16); informacao.A3InformacaoCadastroEmail = "*****@*****.**"; informacao.A3InformacaoCadastroNomeCompleto = "TESTE Fulano da Silva"; informacao.A3InformacaoCadastroNomeMae = "MAE Teste fulano da Silva"; informacao.A3InformacaoCadastroNomePai = "PAI Teste fulano da silva"; informacao.A3InformacaoCadastroNumeroCarteiraNacionalSaude = "1234567890"; usuario.A3InformacaoCadastro = new List <A3InformacaoCadastro>(); usuario.A3InformacaoCadastro.Add(informacao); RelUsuarioPerfil perfilUsuario = new RelUsuarioPerfil(); perfilUsuario.A6PerfilId = 4; usuario.RelUsuarioPerfil = new List <RelUsuarioPerfil>(); usuario.RelUsuarioPerfil.Add(perfilUsuario); var retorno = new A1UsuarioBusiness(_usuarioRepositorio, _usuarioInternoRepositorio, _perfilRepositorio, _profissionalRepositorio).CriarLogin(usuario); Assert.True(retorno && usuario.Mensagens.Count == 0); }
public List <A6Perfil> RetornarPerfisUsuarioExterno(A1Usuario usuarioExterno) { List <A6Perfil> perfis = new List <A6Perfil>(); foreach (var item in usuarioExterno.RelUsuarioPerfil) { perfis.Add(item.A6Perfil); } return(perfis); }
public bool Logar(A1Usuario usuario) { if (Autenticar(usuario, null, Enumeradores.ModoAutenticacao.LogarPaciente)) { return(true); } else { return(false); } }
public void LogarTest() { A1Usuario usuario = new A1Usuario(); usuario.A1UsuarioNome = "TESTE"; usuario.A1UsuarioNumeroCpf = "12312312312"; usuario.A1UsuarioSenha = "123456"; var usuarioRetornado = new A1UsuarioBusiness(_usuarioRepositorio, _usuarioInternoRepositorio, _perfilRepositorio, _profissionalRepositorio).Logar(usuario); Assert.True(usuarioRetornado && usuario.Mensagens.Count == 0); }
public bool CriarLogin(A1Usuario usuario) { bool retorno = true; if (Autenticar(usuario, null, Enumeradores.ModoAutenticacao.CriarLogin)) { _usuarioRepositorio.Add(usuario); _usuarioRepositorio.Save(); retorno = usuario.A1UsuarioId > 0; } else { retorno = false; } return(retorno); }
public IActionResult Index(string txtCPF, string txtSenha) { Sessao = new Sessao(_httpContextAccessor); A1UsuarioBusiness usuarioNegocio = new A1UsuarioBusiness(_usuarioRepositorio, _usuarioInternoRepositorio, _perfilRepositorio, _profissionalRepositorio); A1Usuario usuario = new A1Usuario(); usuario.A1UsuarioNumeroCpf = txtCPF; usuario.A1UsuarioSenha = txtSenha; if (usuarioNegocio.Logar(usuario)) { Sessao.UsuarioExterno = usuarioNegocio.BuscarUsuarioPorCPF(usuario.A1UsuarioNumeroCpf); return(RedirectToAction("PaginaInicial", "Painel")); } else { Sessao.UsuarioExterno = null; Sessao.UsuarioInterno = null; ViewBag.Mensagem = usuario.Mensagens[0].DescricaoMensagem; return(View()); } }
public async Task <IActionResult> CadastrarNovoAtendimento(string formulario) { try { int indiceUnicoInformacaoUsuario = 0; string usuarioNaoExisteNoSistema = "0"; UsuarioExternoViewModel usuario = JsonConvert.DeserializeObject <UsuarioExternoViewModel>(formulario); A29Atendimento atendimento = new A29Atendimento(); A1Usuario usuarioCadastro = new A1Usuario(); A29AtendimentoBusiness atendimentoNegocio = new A29AtendimentoBusiness(_atendimentoRepositorio, null, null, _usuarioRepositorio, _profissionalRepositorio, _usuarioInternoRepositorio); A1UsuarioBusiness usuarioNegocio = new A1UsuarioBusiness(_usuarioRepositorio, null, _perfilRepositorio, null); EmailBusiness emailNegocio = new EmailBusiness(_emailEnvio); if (usuario.UsuarioID != usuarioNaoExisteNoSistema) { var informacaoID = usuarioNegocio.BuscarUsuarioPorCPF(usuario.NumeroCPF).A3InformacaoCadastro.ToList()[indiceUnicoInformacaoUsuario].A3InformacaoCadastroId; atendimento.A3InformacaoCadastroId = informacaoID; atendimento.A29Data = DateTime.Now; atendimentoNegocio.CadastrarAtendimento(atendimento); if (atendimento.Mensagens.Count == 0) { return(Json(new { NumeroAtendimento = atendimento.A29AtendimentoId, Mensagem = "" })); } else { return(Json(new { NumeroAtendimento = "0", Mensagem = atendimento.Mensagens[0].DescricaoMensagem })); } } else { usuarioCadastro.A1UsuarioNumeroCpf = usuario.NumeroCPF; usuarioCadastro.A1UsuarioNome = usuario.NomeCompleto; usuarioCadastro.A1UsuarioSenha = "123456"; A3InformacaoCadastro informacaoCadastro = new A3InformacaoCadastro(); informacaoCadastro.A3InformacaoCadastroCelular = usuario.TelefoneCelular; informacaoCadastro.A3InformacaoCadastroDataNascimento = Convert.ToDateTime(usuario.DataNascimento); informacaoCadastro.A3InformacaoCadastroEmail = usuario.Email; informacaoCadastro.A3InformacaoCadastroNomeCompleto = usuario.NomeCompleto; informacaoCadastro.A3InformacaoCadastroNomeMae = usuario.NomeMae; informacaoCadastro.A3InformacaoCadastroNomePai = usuario.NomePai; informacaoCadastro.A3InformacaoCadastroNumeroCarteiraNacionalSaude = usuario.NumeroCarteiraSUS; informacaoCadastro.A3InformacaoCadastroTelefone = usuario.TelefoneResidencial; usuarioCadastro.A3InformacaoCadastro = new List <A3InformacaoCadastro>(); usuarioCadastro.A3InformacaoCadastro.Add(informacaoCadastro); var loginCriado = usuarioNegocio.CriarLogin(usuarioCadastro); if (loginCriado) { atendimento.A29Data = DateTime.Now; atendimento.A3InformacaoCadastroId = usuarioCadastro.A3InformacaoCadastro.ToList()[indiceUnicoInformacaoUsuario].A3InformacaoCadastroId; atendimentoNegocio.CadastrarAtendimento(atendimento); if (atendimento.Mensagens.Count == 0) { EmailModel email = new EmailModel(); email.Assunto = "Cadastro no sistema gestão de saúde"; email.CorpoEmail = string.Format("Foi criado um cadastro no sistema de saude. <p>Usuario: {0}</p><p>Senha: {1} </p> ", usuarioCadastro.A1UsuarioNumeroCpf, usuarioCadastro.A1UsuarioSenha); email.DoEmail = "*****@*****.**"; email.ParaEmail = "*****@*****.**"; await emailNegocio.EnviarEmailAsync(email); return(Json(new { NumeroAtendimento = atendimento.A29AtendimentoId, Mensagem = "", MensagemErro = "" })); } else { return(Json(new { NumeroAtendimento = "0", MensagemErro = "", Mensagem = atendimento.Mensagens[0].DescricaoMensagem })); } } else { return(Json(new { NumeroAtendimento = "0", MensagemErro = "", Mensagem = usuarioCadastro.Mensagens[0].DescricaoMensagem })); } } } catch (Exception ex) { return(Json(new { NumeroAtendimento = "0", Mensagem = "", MensagemErro = string.Format("Ocorreu um erro inesperado, contate seu administrador. Erro: {0}", ex.Message) })); } }
private bool Autenticar(A1Usuario usuarioPaciente, A2UsuarioInterno usuarioInterno, Enumeradores.ModoAutenticacao modoAutenticacao) { Mensagem mensagem = new Mensagem(); mensagem.TipoMensagem = TipoMensagem.Atencao; bool retorno = true; switch (modoAutenticacao) { case Enumeradores.ModoAutenticacao.CriarLogin: var usuarioExistente = _usuarioRepositorio.Find(c => c.A1UsuarioNumeroCpf == usuarioPaciente.A1UsuarioNumeroCpf); if (usuarioExistente != null) { mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgUsuarioExistente; usuarioPaciente.Mensagens.Add(mensagem); retorno = false; } break; case Enumeradores.ModoAutenticacao.LogarInterno: List <string> includes = new List <string>(); includes.Add("RelUsuarioInternoPerfil"); includes.Add("RelUsuarioInternoProfissional"); var usuarioInternoExistente = _usuarioInternoRepositorio.Find(c => c.A2UsuarioInternoEmail == usuarioInterno.A2UsuarioInternoEmail, includes); if (usuarioInternoExistente == null) { mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgUsuarioInternoNaoExiste; usuarioInterno.Mensagens.Add(mensagem); retorno = false; } if (usuarioInternoExistente != null) { if (usuarioInterno.A2UsuarioInternoSenha != usuarioInternoExistente.A2UsuarioInternoSenha) { mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgSenhaIncorreta; usuarioInterno.Mensagens.Add(mensagem); retorno = false; } else { usuarioInterno.RelUsuarioInternoPerfil = usuarioInternoExistente.RelUsuarioInternoPerfil; usuarioInterno.RelUsuarioInternoProfissional = usuarioInternoExistente.RelUsuarioInternoProfissional; foreach (var item in usuarioInterno.RelUsuarioInternoPerfil) { item.A6Perfil = _perfilRepositorio.Find(c => c.A6PerfilId == item.A6PerfilId); } foreach (var item in usuarioInterno.RelUsuarioInternoProfissional) { item.A13ProfissionalCodigoCnsNavigation = _profissionalRepositorio.Find(c => c.A13ProfissionalCodigoCns == item.A13ProfissionalCodigoCns); } } } break; case Enumeradores.ModoAutenticacao.LogarPaciente: List <string> includesPaciente = new List <string>(); includesPaciente.Add("RelUsuarioPerfil"); var usuarioLogar = _usuarioRepositorio.Find(c => c.A1UsuarioNumeroCpf == usuarioPaciente.A1UsuarioNumeroCpf, includesPaciente); if (usuarioLogar == null) { mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgUsuarioNaoExiste; usuarioPaciente.Mensagens.Add(mensagem); retorno = false; } if (usuarioLogar != null) { if (usuarioPaciente.A1UsuarioSenha != usuarioLogar.A1UsuarioSenha) { mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgSenhaIncorreta; usuarioPaciente.Mensagens.Add(mensagem); retorno = false; } else { usuarioPaciente.RelUsuarioPerfil = usuarioLogar.RelUsuarioPerfil; foreach (var item in usuarioPaciente.RelUsuarioPerfil) { item.A6Perfil = _perfilRepositorio.Find(c => c.A6PerfilId == item.A6PerfilId); } } } break; default: break; } return(retorno); }