예제 #1
0
        public IActionResult TotaisExames()
        {
            var usuario = _usuarioContext.RetornLoggedUser((ClaimsIdentity)User.Identity);

            var autenticadoTrabalhaEstado    = _pessoaTrabalhaEstadoContext.GetByIdPessoa(usuario.UsuarioModel.IdPessoa);
            var autenticadoTrabalhaMunicipio = _pessoaTrabalhaMunicipioContext.GetByIdPessoa(usuario.UsuarioModel.IdPessoa);

            List <TotalEstadoMunicipioBairro> totaisRealizado = new List <TotalEstadoMunicipioBairro>();

            if (autenticadoTrabalhaMunicipio != null)
            {
                totaisRealizado = _exameContext.GetTotaisRealizadosByMunicipio(autenticadoTrabalhaMunicipio.IdMunicipio);
            }
            else if (autenticadoTrabalhaEstado != null)
            {
                if (autenticadoTrabalhaEstado.IdEmpresaExame == EmpresaExameModel.EMPRESA_ESTADO_MUNICIPIO)
                {
                    totaisRealizado = _exameContext.GetTotaisRealizadosByEstado(autenticadoTrabalhaEstado.IdEstado);
                }
                else
                {
                    totaisRealizado = _exameContext.GetTotaisRealizadosByEmpresa(autenticadoTrabalhaEstado.IdEmpresaExame);
                }
            }
            List <TotalEstadoMunicipioBairro> totaisPopulacao = new List <TotalEstadoMunicipioBairro>();

            if (autenticadoTrabalhaMunicipio != null)
            {
                var cidade = _municicpioContext.GetById(autenticadoTrabalhaMunicipio.IdMunicipio);
                var estado = _estadoContext.GetById(Convert.ToInt32(cidade.Uf));
                totaisPopulacao = _exameContext.GetTotaisPopulacaoByMunicipio(estado.Uf, cidade.Nome);
            }
            else if (autenticadoTrabalhaEstado != null)
            {
                var estado = _estadoContext.GetById(autenticadoTrabalhaEstado.IdEstado);
                if (autenticadoTrabalhaEstado.IdEmpresaExame == EmpresaExameModel.EMPRESA_ESTADO_MUNICIPIO)
                {
                    totaisPopulacao = _exameContext.GetTotaisPopulacaoByEstado(estado.Uf);
                }
            }
            TotalTestesGestaoPopulacao totais = new TotalTestesGestaoPopulacao();

            totais.Gestao = totaisRealizado;
            totais.TotalGestaoRecuperados    = totaisRealizado.Sum(t => t.TotalRecuperados);
            totais.TotalGestaoIndeterminados = totaisRealizado.Sum(t => t.TotalIndeterminados);
            totais.TotalGestaoNegativos      = totaisRealizado.Sum(t => t.TotalNegativos);
            totais.TotalGestaoPositivos      = totaisRealizado.Sum(t => t.TotalPositivos);
            totais.TotalGestaoAguardando     = totaisRealizado.Sum(t => t.TotalAguardando);
            totais.TotalGestaoIgGIgM         = totaisRealizado.Sum(t => t.TotalIgGIgM);

            totais.Populacao = totaisPopulacao;
            totais.TotalPopulacaoRecuperados    = totaisPopulacao.Sum(t => t.TotalRecuperados);
            totais.TotalPopulacaoIndeterminados = totaisPopulacao.Sum(t => t.TotalIndeterminados);
            totais.TotalPopulacaoNegativos      = totaisPopulacao.Sum(t => t.TotalNegativos);
            totais.TotalPopulacaoPositivos      = totaisPopulacao.Sum(t => t.TotalPositivos);
            totais.TotalPopulacaoAguardando     = totaisPopulacao.Sum(t => t.TotalAguardando);
            totais.TotalPopulacaoIgGIGM         = totaisPopulacao.Sum(t => t.TotalIgGIgM);
            return(View(totais));
        }
        public HttpResponseMessage ObtenerPorId(short id)
        {
            var resultado = (HttpResponseMessage)null;

            try
            {
                resultado = Request.CreateResponse(HttpStatusCode.OK, _municipioService.GetById(id));
            }
            catch (Exception exception)
            {
                resultado = Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = exception.Message });
            }

            return(resultado);
        }
예제 #3
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));
        }
예제 #5
0
        public PesquisaPacienteViewModel GetAllPacientesViewModel(PesquisaPacienteViewModel pesquisa)
        {
            var usuario = _usuarioContext.RetornLoggedUser((ClaimsIdentity)User.Identity);
            var pessoaTrabalhaMunicipio = _pessoaTrabalhaMunicipioContext.GetByIdPessoa(usuario.UsuarioModel.IdPessoa);
            var pessoaTrabalhaEstado    = _pessoaTrabalhaEstadoContext.GetByIdPessoa(usuario.UsuarioModel.IdPessoa);

            if (usuario.RoleUsuario.Equals("GESTOR") || usuario.RoleUsuario.Equals("SECRETARIO"))
            {
                if (pessoaTrabalhaMunicipio != null)
                {
                    var municicpio = _municicpioContext.GetById(pessoaTrabalhaMunicipio.IdMunicipio);
                    var estado     = _estadoContext.GetByCodUf(Convert.ToInt32(municicpio.Uf));
                    pesquisa.Exames = _exameContext.GetByCidadeResidenciaPaciente(municicpio.Nome, estado.Uf.ToUpper(), pesquisa.VirusBacteria, pesquisa.DataInicial, pesquisa.DataFinal).ToList();
                }
                if (pessoaTrabalhaEstado != null)
                {
                    if (pessoaTrabalhaEstado.IdEmpresaExame != EmpresaExameModel.EMPRESA_ESTADO_MUNICIPIO)
                    {
                        var empresa = _empresaExameContext.GetById(pessoaTrabalhaEstado.IdEmpresaExame);
                        if (empresa.FazMonitoramento)
                        {
                            pesquisa.Exames = _exameContext.GetByHospital(pessoaTrabalhaEstado.IdEmpresaExame, pesquisa.VirusBacteria, pesquisa.DataInicial, pesquisa.DataFinal).ToList();
                        }
                        else
                        {
                            TempData["mensagemAviso"] = "Essa Funcionalidade Não está Disponível Para Organizações Privadas!";
                            return(new PesquisaPacienteViewModel());
                        }
                    }
                    else
                    {
                        var estado = _estadoContext.GetById(pessoaTrabalhaEstado.IdEstado);
                        pesquisa.Exames = _exameContext.GetByEstadoResidenciaPaciente(estado.Uf.ToUpper(), pesquisa.VirusBacteria, pesquisa.DataInicial, pesquisa.DataFinal).ToList();
                    }
                }
            }

            /*
             * 2º Filtro - filtrando ViewModel por nome/cpf, resultado e exame
             */
            pesquisa.Pesquisa  = pesquisa.Pesquisa ?? "";
            pesquisa.Resultado = pesquisa.Resultado ?? "";

            if (!pesquisa.Pesquisa.Equals(""))
            {
                if (Methods.SoContemLetras(pesquisa.Pesquisa))
                {
                    pesquisa.Exames = pesquisa.Exames.Where(paciente => paciente.Paciente.Nome.ToUpper().Contains(pesquisa.Pesquisa.ToUpper())).ToList();
                }
                else
                {
                    pesquisa.Exames = pesquisa.Exames.Where(paciente => paciente.Paciente.Cpf.ToUpper().Contains(pesquisa.Pesquisa.ToUpper())).ToList();
                }
            }

            if (!pesquisa.Resultado.Equals("") && !pesquisa.Resultado.Equals("Todas as Opçoes"))
            {
                pesquisa.Exames = pesquisa.Exames.Where(paciente => paciente.UltimoResultado.ToUpper().Equals(pesquisa.Resultado.ToUpper())).ToList();
            }

            pesquisa.Exames = pesquisa.Exames.OrderByDescending(ex => ex.DataExame).ToList();
            return(PreencheTotalizadores(pesquisa));
        }
예제 #6
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" }));
        }