public MonitoraPacienteViewModel GetPacienteViewModel(int idPaciente, int IdVirusBacteria) { var situacao = _situacaoPessoaContext.GetById(idPaciente, IdVirusBacteria); var pessoa = _pessoaContext.GetById(idPaciente); var internacoes = _internacaoContext.GetByIdPaciente(pessoa.Idpessoa); for (int i = 0; i < internacoes.Count; i++) { var empresa = _empresaExameContext.GetById(internacoes[i].IdEmpresa); internacoes[i].NomeEmpresa = empresa.Nome; internacoes[i].IdEmpresa = empresa.Id; } var monitora = new MonitoraPacienteViewModel { Paciente = pessoa, Descricao = situacao.Descricao, VirusBacteria = _virusBacteriaContext.GetById(situacao.IdVirusBacteria), ExamesPaciente = _exameContext.GetByIdPaciente(pessoa.Idpessoa), Internacoes = internacoes }; monitora.UltimoResultado = GetUltimoResultadoExame(monitora.ExamesPaciente); return(monitora); }
public List <EmpresaExameModel> GetAllEmpresas() { var usuario = _usuarioContext.RetornLoggedUser((ClaimsIdentity)User.Identity); var pessoa = _pessoaContext.GetById(usuario.UsuarioModel.IdPessoa); var empresas = new List <EmpresaExameModel>(); if (usuario.RoleUsuario.Equals("SECRETARIO") || usuario.RoleUsuario.Equals("ADM")) { var trabalhaEstado = _trabalhaEstadoContext.GetByIdPessoa(pessoa.Idpessoa); if (trabalhaEstado != null) { if (trabalhaEstado.IdEmpresaExame != EmpresaExameModel.EMPRESA_ESTADO_MUNICIPIO) { empresas = new List <EmpresaExameModel>() { _empresaContext.GetById(trabalhaEstado.IdEmpresaExame) } } ; else { var estado = _estadoContext.GetById(trabalhaEstado.IdEstado); empresas = _empresaContext.GetByUF(estado.Uf); } } else { var trabalhaMunicipio = _trabalhaMunicipioContext.GetByIdPessoa(pessoa.Idpessoa); if (trabalhaMunicipio != null) { var municipio = _municipioContext.GetById(trabalhaMunicipio.IdMunicipio); var estado = _estadoContext.GetById(int.Parse(municipio.Uf)); empresas = _empresaContext.GetByUF(estado.Uf); } } } return(empresas); }
public ActionResult IndexApproveAgent(int ehResponsavel) { // usuario logado UsuarioViewModel usuarioAutenticado = _usuarioService.RetornLoggedUser((ClaimsIdentity)User.Identity); bool ehAdmin = usuarioAutenticado.RoleUsuario.Equals("ADM"); bool ehGestor = usuarioAutenticado.RoleUsuario.Equals("GESTOR"); bool ehSecretario = usuarioAutenticado.RoleUsuario.Equals("SECRETARIO"); bool ehListarGestores = (ehResponsavel == 1); var solicitantes = new List <SolicitanteAprovacaoViewModel>(); var autenticadoTrabalhaEstado = _pessoaTrabalhaEstadoService.GetByIdPessoa(usuarioAutenticado.UsuarioModel.IdPessoa); var autenticadoTrabalhaMunicipio = _pessoaTrabalhaMunicipioService.GetByIdPessoa(usuarioAutenticado.UsuarioModel.IdPessoa); if (autenticadoTrabalhaEstado != null || ehAdmin) { var ehEmpresa = autenticadoTrabalhaEstado.IdEmpresaExame != EmpresaExameModel.EMPRESA_ESTADO_MUNICIPIO; if (ehAdmin) { solicitantes = _pessoaTrabalhaEstadoService.GetAllGestores(); } else if (ehEmpresa) { if (ehSecretario && ehListarGestores) { solicitantes = _pessoaTrabalhaEstadoService.GetAllGestoresEmpresa(autenticadoTrabalhaEstado.IdEmpresaExame); } else if (!ehListarGestores) { solicitantes = _pessoaTrabalhaEstadoService.GetAllNotificadoresEmpresa(autenticadoTrabalhaEstado.IdEmpresaExame); } } else { if (ehSecretario && ehListarGestores) { solicitantes = _pessoaTrabalhaEstadoService.GetAllGestoresEstado(autenticadoTrabalhaEstado.IdEstado); } else if (!ehListarGestores) { solicitantes = _pessoaTrabalhaEstadoService.GetAllNotificadoresEstado(autenticadoTrabalhaEstado.IdEstado); } } } if (autenticadoTrabalhaMunicipio != null || ehAdmin) { if (ehAdmin) { solicitantes = solicitantes.Concat(_pessoaTrabalhaMunicipioService.GetAllGestores()).ToList(); } else { if (ehSecretario && ehListarGestores) { solicitantes = _pessoaTrabalhaMunicipioService.GetAllGestoresMunicipio(autenticadoTrabalhaMunicipio.IdMunicipio); } else if (!ehListarGestores) { solicitantes = _pessoaTrabalhaMunicipioService.GetAllNotificadoresMunicipio(autenticadoTrabalhaMunicipio.IdMunicipio); } } foreach (SolicitanteAprovacaoViewModel solicitante in solicitantes) { if (solicitante.Estado.All(char.IsDigit)) { solicitante.Estado = _estadoService.GetById(Convert.ToInt32(solicitante.Estado)).Uf; } } } if (TempData["responseOp"] != null) { ViewBag.responseOp = TempData["responseOp"]; } Tuple <List <SolicitanteAprovacaoViewModel>, List <EmpresaExameModel> > tupleModel = null; ViewBag.entidade = (ehResponsavel == 0) ? "Agente" : "Gestor"; List <EmpresaExameModel> empresas = null; if (ehAdmin) { empresas = _empresaExameService.ListAll(); } else if (autenticadoTrabalhaEstado != null && autenticadoTrabalhaEstado.IdEmpresaExame != EmpresaExameModel.EMPRESA_ESTADO_MUNICIPIO) { empresas = new List <EmpresaExameModel>() { _empresaExameService.GetById(autenticadoTrabalhaEstado.IdEmpresaExame) } } ; else if (autenticadoTrabalhaEstado != null && autenticadoTrabalhaEstado.IdEmpresaExame == EmpresaExameModel.EMPRESA_ESTADO_MUNICIPIO) { empresas = _empresaExameService.ListByUF(_estadoService.GetById(autenticadoTrabalhaEstado.IdEstado).Uf); } else if (autenticadoTrabalhaMunicipio != null) { empresas = _empresaExameService.ListByUF(_estadoService.GetById(Convert.ToInt32(_municipioService.GetById(autenticadoTrabalhaMunicipio.IdMunicipio).Uf)).Uf); } solicitantes = solicitantes.OrderBy(s => s.Nome).ToList(); if (empresas != null) { tupleModel = new Tuple <List <SolicitanteAprovacaoViewModel>, List <EmpresaExameModel> >(solicitantes, empresas); } else { tupleModel = new Tuple <List <SolicitanteAprovacaoViewModel>, List <EmpresaExameModel> >(solicitantes, null); } return(View(tupleModel)); }
public async Task <IActionResult> SignIn(LoginViewModel login) { if (ModelState.IsValid) { var cpf = Methods.ValidarCpf(login.Cpf) ? Methods.RemoveSpecialsCaracts(login.Cpf) : throw new Exception("CPF Invalido!!"); var senha = Criptography.GenerateHashString(login.Senha); var user = _usuarioService.GetByLogin(cpf, senha); if (user != null) { // informaçoes pessoais do usuario | adicionar as claims o dado que mais precisar var person = _pessoaService.GetById(user.IdPessoa); var role = Methods.ReturnRole(user.TipoUsuario); var trabalha = ""; var empresa = ""; if (role != "ADM" || role != "USUARIO") { var trabalhaEstado = _pessoaTrabalhaEstado.GetByIdPessoa(person.Idpessoa); if (trabalhaEstado != null) { trabalha = _estadoService.GetById(trabalhaEstado.IdEstado).Nome; empresa = _empresaExameService.GetById(trabalhaEstado.IdEmpresaExame).Nome; } else { var trabalhaMunicipio = _pessoaTrabalhaMunicipio.GetByIdPessoa(person.Idpessoa); trabalha = _municipioService.GetById(trabalhaMunicipio.IdMunicipio).Nome; } } var claims = new List <Claim> { new Claim(ClaimTypes.SerialNumber, user.IdUsuario.ToString()), new Claim(ClaimTypes.Name, person.Nome), new Claim(ClaimTypes.StateOrProvince, person.Estado), new Claim(ClaimTypes.Locality, person.Cidade), new Claim(ClaimTypes.UserData, user.Cpf), new Claim(ClaimTypes.Email, user.Email), new Claim(ClaimTypes.NameIdentifier, user.IdPessoa.ToString()), new Claim(ClaimTypes.Role, role), new Claim(ClaimTypes.Dns, trabalha), new Claim(ClaimTypes.Sid, empresa) }; // Adicionando uma identidade as claims. var identidade = new ClaimsIdentity(claims, "login"); // Propriedades da autenticação. var propriedadesClaim = new AuthenticationProperties { ExpiresUtc = DateTimeOffset.UtcNow.AddDays(1) // Expira em 1 dia }; // Logando efetivamente. await HttpContext.SignInAsync(new ClaimsPrincipal(identidade), propriedadesClaim); return(RedirectToAction("Index", "Home")); } } return(RedirectToAction("Index", "Login", new { msg = "error" })); }