Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #4
0
        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" }));
        }