Exemple #1
0
        public List <Video> GetByVideoMiolo(VideoMiolo vm, string matricula = null, Aplicacoes IdAplicacao = Aplicacoes.MsProMobile, string VersaoApp = "")
        {
            VideoMioloEntity vme = new VideoMioloEntity();

            vme.setVersaoAplicacao((int)IdAplicacao, VersaoApp);
            vme.setChaveamentoVimeoApostila(new ChaveamentoVimeoMediMiolo());

            var lst = vme.GetByFilters(vm).ToList();

            var lstv = new Videos();

            foreach (var valor in lst)
            {
                if (!lstv.Any(i => i.Url.Equals(valor.HTTPURL)))
                {
                    var video = new Video();
                    video.ID      = Convert.ToInt32(valor.ID);
                    video.VideoId = valor.VideoID;
                    video.Url     = valor.HTTPURL;
                    video.Thumb   = valor.URLThumb;
                    video.Links   = valor.Links;
                    video         = CreateVideoObject(video, matricula);
                    lstv.Add(video);
                }
            }
            return(lstv);
        }
Exemple #2
0
        public RecuperaSenhaDTO EnviarEmailEsqueciSenha(string identificador, Aplicacoes aplicacao)
        {
            Cliente cliente = new Cliente();
            var filtro = new AlunoDTO();
            var recupera = new RecuperaSenhaDTO();
            recupera.Validacao = ValidaRecuperaSenha.Inexistente;

            if (Utilidades.IsValidEmail(identificador))
            {
                filtro.Email = identificador;
            }
            else
            {
                filtro.Register = identificador;
            }

            var aluno = _clienteDataRepository.GetAlunoPorFiltros(filtro);

            if (aluno != null && aluno.Id != default(int))
            {
                cliente.Register = aluno.Register;
                var result = _clienteDataRepository.UpdateEsqueciSenha(cliente, aplicacao);
                recupera.Validacao = result.Key > default(int) ? ValidaRecuperaSenha.EmailEnviado : ValidaRecuperaSenha.Inexistente;
            }

            return recupera;
        }
Exemple #3
0
        public List <Aluno> GetAlunosNotificacao(Notificacao notificacao)
        {
            using (MiniProfiler.Current.Step("Obtendo notificação de alunos")) {
                var        matriculas = new List <Aluno> ();
                Aplicacoes aplicacao  = (Aplicacoes)notificacao.AplicacaoId;

                if (notificacao.Matricula.Equals(-1))
                {
                    var listAccessObjectNotificacao = new List <AccessObject> {
                        new AccessObject {
                            Id   = notificacao.IdNotificacao,
                            Nome = notificacao.Texto
                        }
                    };

                    var listPermissoes     = _accessRepository.GetRegrasNotificacoes(listAccessObjectNotificacao);
                    var listCondicoesRegra = new List <RegraCondicao> ();

                    foreach (var regraPermissao in listPermissoes)
                    {
                        listCondicoesRegra.AddRange(_accessRepository.GetRegraCondicoes((int)aplicacao, regraPermissao.Regra.Id));
                    }

                    matriculas = _accessRepository.GetAlunosPorRegra(listCondicoesRegra, aplicacao);
                }
                else
                {
                    matriculas.Add(_alunoRepository.GetAlunosDevice(notificacao.Matricula, aplicacao));
                }

                return(matriculas);
            }
        }
Exemple #4
0
 public PartialViewResult ListByAnimal(int AnimalId)
 {
     ViewBag.ApresentaDadoAnimais = false;
     ViewBag.Titulo     = "Vacinas Aplicadas";
     ViewBag.Aplicacoes = Aplicacoes.ListByAnimal(AnimalId);
     return(PartialView("Listar"));
 }
        public List <Banner> GetBanners(Aplicacoes aplicacao)
        {
            using (var ctx = new DesenvContext())
            {
                var query = from b in ctx.tblBanners
                            join o in ctx.tblAccess_Object on b.intObjectId equals o.intObjectId
                            join ov in ctx.tblAcess_Object_Validity on o.intObjectId equals ov.intObjectId
                            where o.intObjectTypeId == (int)Utilidades.TipoObjetos.BANNER &&
                            o.intApplicationId == (int)aplicacao &&
                            o.bitAtivo == true &&
                            ov.bitAtivo == true &&
                            ov.dteInicio <= DateTime.Now &&
                            ov.dteFim >= DateTime.Now
                            orderby o.intOrdem ascending
                            select new Banner()
                {
                    ID            = b.intBannerId,
                    ObjectId      = b.intObjectId,
                    Descricao     = b.txtDescricao,
                    Imagem        = b.txtImagem,
                    Link          = b.txtLink,
                    IsLinkExterno = b.bitLinkExterno,
                    ClickAqui     = b.txtClickAqui,
                    IdSimulado    = b.intSimuladoID ?? 0
                };

                return(query.ToList());
            }
        }
Exemple #6
0
 public int AceitarTermoInadimplencia(int idOrdemVenda, int matricula, Aplicacoes aplicacao)
 {
     return(_alunoRepository.SetChamadoInadimplencia(new PermissaoInadimplencia
     {
         IdOrdemDeVenda = idOrdemVenda,
         Matricula = matricula,
         IdAplicacao = (int)aplicacao
     }));
 }
Exemple #7
0
        public int CadastrarSenha(string register, string senha, Aplicacoes aplicacao, string senhaAnterior = "", int id = 0)
        {
            var isMedSoftPro = (aplicacao == Aplicacoes.MsProMobile);
            var isMedSoftProDesktop = ((int)aplicacao == (int)Aplicacoes.MEDSOFT_PRO_ELECTRON);
            var isMedEletro = (aplicacao == Aplicacoes.MEDELETRO);

            var idAplicacao = (int)aplicacao;

            var filtro = new AlunoDTO();

            if ((isMedSoftPro || isMedSoftProDesktop || isMedEletro) && Utilidades.IsValidEmail(register))
            {
                filtro.Email = register.ToLower().Trim();
            }
            else
            {
                filtro.Register = register;
                filtro.Id = id;
            }

            var aluno = _clienteDataRepository.GetAlunoPorFiltros(filtro);

            if(aluno != null && aluno.Id != 0)
            {
                var novaSenha = new AlunoSenhaDTO
                {
                    ClientId = aluno.Id,
                    AplicacaoId = idAplicacao,
                    Senha = senha,
                    Data = DateTime.Now
                };

                var alunoSenha = _clienteDataRepository.GetAlunoSenha(aluno.Id);

                if (alunoSenha == null)
                {
                    _clienteDataRepository.InserirAlunoSenha(novaSenha);
                }
                else if (alunoSenha.Senha != senhaAnterior)
                {
                    return 0;
                }
                else
                {
                    novaSenha.Id = alunoSenha.Id;
                    _clienteDataRepository.AlterarAlunoSenha(novaSenha);
                }
                return 1;
            }
            else
            {
                return 0;
            }
           

        }
Exemple #8
0
        public ActionResult Vacinacao(int VacinaId)
        {
            ViewBag.Vacinas            = Current.Vacinas;
            ViewBag.ApresantaResuldado = true;
            Vacina     vacina     = Vacina.Get(VacinaId);
            Aplicacoes aplicacoes = Aplicacoes.ListByVacina(VacinaId, Current.FazendaId);

            ViewBag.Aplicacoes               = aplicacoes;
            ViewBag.ApresentaDadoAnimais     = true;
            ViewBag.QuantidadeFazendaAnimais = Animais.ListCountAnimaisByFazenda(Current.FazendaId);
            return(View());
        }
Exemple #9
0
        public string GetUltimaVersao(Aplicacoes app)
        {
            using (var ctx = new DesenvContext())
            {
                var versao = ctx.tblAccess_Object_Application
                             .Where(x => x.intApplicationId == (int)app)
                             .Select(x => x.txtMinVersion)
                             .OrderByDescending(x => x)
                             .FirstOrDefault();

                return(versao);
            }
        }
Exemple #10
0
        public ValidaLoginDTO ValidaAcesso(int matricula, Aplicacoes aplicacao, string versaoApp)
        {
            if (matricula == default(int))
            {
                var tarefaVersaoLoja = Utilidades.ObterUltimaVersaoLojaAsync(aplicacao);
                var versao           = ObterDadosVersao(versaoApp, tarefaVersaoLoja.Result, aplicacao);
                return(new ValidaLoginDTO
                {
                    Validacao = ValidacaoLogin.Sucesso,
                    Versao = versao
                });
            }

            var cliente = _clienteRepository.GetDadosBasicos(matricula);

            return(Login(cliente.Register, string.Empty, false, aplicacao, versaoApp));
        }
Exemple #11
0
        public PartialViewResult ListByVacina(int VacinaId)
        {
            ViewBag.ApresentaDadoAnimais = true;
            Vacina vacina = Vacina.Get(VacinaId);
            string titulo = string.Empty;

            if (vacina != null)
            {
                titulo = string.Format("Animais vacinados ({0})", vacina.Nome);
            }
            else
            {
                titulo = "Animais vacinados";
            }
            ViewBag.Titulo     = titulo;
            ViewBag.Aplicacoes = Aplicacoes.ListByVacina(VacinaId, Current.FazendaId);
            return(PartialView("Listar"));
        }
Exemple #12
0
        public VersaoDTO ObterDadosVersao(string versaoApp, string ultimaVersao, Aplicacoes aplicacao)
        {
            var versaoInexistente = "0.0.0";

            versaoApp = string.IsNullOrEmpty(versaoApp) ? versaoInexistente : versaoApp;

            var versaoBloqueada = _versaoAppPermissaoRepository.GetUltimaVersaoBloqueada((int)aplicacao);

            if (string.IsNullOrEmpty(versaoBloqueada))
            {
                versaoBloqueada = versaoInexistente;
            }

            return(new VersaoDTO
            {
                VersaoValida = !Utilidades.VersaoMenorOuIgual(versaoApp, versaoBloqueada),
                VersaoAtualizada = string.IsNullOrEmpty(ultimaVersao) || Utilidades.VersaoMaiorOuIgual(versaoApp, ultimaVersao),
                NumeroUltimaVersao = ultimaVersao
            });
        }
        public bool IsAcessoBloqueado(int clientId, Aplicacoes aplicacao)
        {
            bool bloqueado = false;

            var isRecursos = (aplicacao == Aplicacoes.Recursos || aplicacao == Aplicacoes.Recursos_iPad || aplicacao == Aplicacoes.Recursos_iPhone || aplicacao == Aplicacoes.Recursos_Android);

            bool isOnlyMedReaderDenied = false;
            bool isBloqueadoPorAplicacoesOuAplicativos = false;

            if (clientId > 0)
            {
                var _blacklist      = GetAll().Where(x => x.ID == clientId);
                var blacklistMember = _blacklist.FirstOrDefault();

                if (blacklistMember != null)
                {
                    isBloqueadoPorAplicacoesOuAplicativos = _blacklist.Where(x => x.Bloqueios.Any(y => (y.TabelaBloqueio == Bloqueio.TipoBloqueio.Aplicacao || y.TabelaBloqueio == Bloqueio.TipoBloqueio.Aplicativos))).Any();

                    isOnlyMedReaderDenied = blacklistMember.Bloqueios.Count == 1 && (blacklistMember.Bloqueios[0].AplicacaoId == (int)Aplicacoes.LeitordeApostilas);

                    if (isOnlyMedReaderDenied && aplicacao != Aplicacoes.LeitordeApostilas)
                    {
                        isBloqueadoPorAplicacoesOuAplicativos = false;
                    }

                    if (isRecursos || aplicacao == Aplicacoes.MEDSOFT)
                    {
                        bloqueado = IsBloqueadoPorRecurso(clientId);
                    }
                    else
                    {
                        bloqueado = !(!isBloqueadoPorAplicacoesOuAplicativos || (isOnlyMedReaderDenied && aplicacao == Aplicacoes.MsProMobile));
                    }
                }
            }

            return(bloqueado);
        }
Exemple #14
0
        public List <Video> GetByVideoMiolo(VideoMiolo vm, string matricula = null, Aplicacoes IdAplicacao = Aplicacoes.MsProMobile, string VersaoApp = "")
        {
            var lstVideosMiolo = new VideosMiolo();
            var videos         = _vimeoRepository.GetByFilters(vm).ToList();
            var chaveamento    = new ChaveamentoVimeoMediMiolo();

            foreach (var item in videos)
            {
                VideoMiolo v = new VideoMiolo()
                {
                    ID          = item.IDApostila.ToString(),
                    VideoID     = item.VideoID,
                    IDApostila  = item.IDApostila,
                    CodigoVideo = item.CodigoVideo,
                    BorKey      = _vimeoRepository.GetBorKey(item.CodigoVideo, item.Ano, item.IDApostila),
                    Qualidade   = vm.Qualidade,
                };

                tblVideo    video        = _vimeoRepository.GetVideoVimeo(null, Convert.ToInt32(item.VideoID));
                VideoUrlDTO videoRetorno = new VideoUrlDTO
                {
                    Url = string.Empty
                };

                var chaveamentoVimeo = chaveamento.GetChaveamento();
                if (chaveamentoVimeo)
                {
                    if ((int)IdAplicacao == (int)Aplicacoes.MEDSOFT_PRO_ELECTRON || (int)IdAplicacao == (int)Aplicacoes.AreaRestrita)
                    {
                        v.URL = video.txtUrlStreamVimeo;
                    }
                    else
                    {
                        v.URL = video.txtUrlVimeo;
                    }
                }

                if (video.intVimeoID == null)
                {
                    ValidarEnvioEmailVideoDefeituoso(video);
                }
                else if (v.URL == null)
                {
                    v.URL = _vimeoRepository.GetUrlPlataformaVideo(video, chaveamentoVimeo, (int)IdAplicacao);
                    if (v.URL == string.Empty)
                    {
                        ValidarEnvioEmailVideoDefeituoso(video);
                    }
                }

                v.HTTPURL  = v.URL;
                v.URLThumb = _vimeoRepository.GetUrlThumb(video, new ChaveamentoVimeoMediMiolo(), VersaoApp);
                v.Links    = _vimeoRepository.GetLinksVideoVariasQualidades(video.txtVideoInfo, v.URL);

                lstVideosMiolo.Add(v);
            }

            var lstv = new Videos();

            foreach (var valor in lstVideosMiolo)
            {
                if (!lstv.Any(i => i.Url.Equals(valor.HTTPURL)))
                {
                    var video = new Video();
                    video.ID      = Convert.ToInt32(valor.ID);
                    video.VideoId = valor.VideoID;
                    video.Url     = valor.HTTPURL;
                    video.Thumb   = valor.URLThumb;
                    video.Links   = valor.Links;
                    video         = _vimeoRepository.CreateVideoObject(video, matricula);
                    lstv.Add(video);
                }
            }

            return(lstv);
        }
Exemple #15
0
        public ValidacaoDTO CadastrarSenhaAluno(string identificador, string senhaAtual, string novaSenha, Aplicacoes aplicacao)
        {
            var filtro = new AlunoDTO();
            var validacao = new ValidacaoDTO
            {
                Status = StatusRetorno.Falha,
                Mensagem = Constants.Messages.Acesso.AlunoInexistente.GetDescription()
            };
            
            if (Utilidades.IsValidEmail(identificador))
            {
                filtro.Email = identificador;
            }
            else
            {
                filtro.Register = identificador;
            }

            var aluno = _clienteDataRepository.GetAlunoPorFiltros(filtro);

            if(aluno != null && aluno.Id != default(int))
            {
                var result = CadastrarSenha(aluno.Register, novaSenha, aplicacao, senhaAtual, aluno.Id);
                
                if((result == default(int)))
                {
                    validacao.Status = StatusRetorno.Falha;
                    validacao.Mensagem = Constants.Messages.Acesso.SenhaIncorreta.GetDescription();
                }
                else
                {
                    validacao.Status = StatusRetorno.Sucesso;
                    validacao.Mensagem = string.Empty;
                }
            }
            return validacao;
        }
Exemple #16
0
        public Videos GetVideoApostila(string codigo, string matricula, Aplicacoes IdAplicacao = Aplicacoes.MsProMobile, string versao = "")
        {
            var videos = _vimeoRepository.GetVideosApostilaCodigoJson(codigo, matricula, IdAplicacao, versao);

            return(videos);
        }
Exemple #17
0
 public List <NotificacaoPosEventoDTO> GetNotificacoesAlunoPosEvento(int matricula, Aplicacoes aplicacao)
 {
     using (var ctx = new DesenvContext())
     {
         return((from ne in ctx.tblNotificacaoEvento
                 join n in ctx.tblNotificacao on ne.intNotificacaoId equals n.intNotificacaoId
                 where ne.intContactId == matricula && ne.bitAtivo &&
                 n.intApplicationId == (int)aplicacao
                 select new NotificacaoPosEventoDTO
         {
             IdNotificacao = ne.intNotificacaoId ?? 0,
             Matricula = ne.intContactId,
             Titulo = ne.txtTitulo,
             Mensagem = ne.txtDescricao,
             Metadados = ne.Metadados,
             Data = ne.dteCadastro ?? DateTime.MinValue,
             Lida = ne.intStatusLeitura.HasValue &&
                    ne.intStatusLeitura.Value == (int)ELeituraNotificacaoEvento.Lida
         }).ToList());
     }
 }
Exemple #18
0
 public List <OneSignalNotificationResponse> SendSeletivasList(List <NotificacaoSeletiva> notificacaoSeletivas, Aplicacoes aplicacao)
 {
     using (MiniProfiler.Current.Step("Enviando lista de seletivas")) {
         var lstRetorno  = new List <OneSignalNotificationResponse> ();
         var chaveAppId  = Utilidades.AppIdNotificacoes(aplicacao);
         var chaveGcmKey = Utilidades.GcmKeyNotificacoes(aplicacao);
         foreach (var item in notificacaoSeletivas)
         {
             var retorno = SendSeletiva(item, chaveAppId, chaveGcmKey);
             lstRetorno.Add(retorno);
             System.Threading.Thread.Sleep(3000);
         }
         return(lstRetorno);
     }
 }
Exemple #19
0
 private Task <PermissaoInadimplencia> VerificaInadimplenciaAsync(string register, Aplicacoes aplicacao)
 {
     return(Task.Factory.StartNew(
                () => _alunoRepository.GetPermissao(register, (int)aplicacao)
                ));
 }
Exemple #20
0
        public Videos GetVideosApostilaCodigoJson(string codigo, string matricula = null, Aplicacoes IdAplicacao = Aplicacoes.MsProMobile, string versao = "")
        {
            if (IsVideoINTRO(codigo))
            {
                var v = Convert.ToInt32(codigo.ToUpper().Replace("INTRO_", "").Trim());
                return(new Videos {
                    GetVideoIntro(v)
                });
            }
            else
            {
                var vm = new VideoMiolo();

                if (codigo.Contains("-"))
                {
                    string[] CodigoApostilaID = codigo.Split('-');

                    vm.IDApostila  = int.Parse(CodigoApostilaID[0]);
                    vm.CodigoVideo = CodigoApostilaID[1];
                }
                else
                {
                    vm.CodigoVideo = codigo;
                }

                string versaoapp = versao == "" ? ConfigurationProvider.Get("Settings:ChaveamentoVersaoMinimaMsPro") : versao;
                return((Videos)GetByVideoMiolo(vm, matricula, IdAplicacao, versaoapp));
            }
        }
Exemple #21
0
 public ValidaLoginDTO Login(string identificador, string senha, Aplicacoes aplicacao, string versaoApp)
 {
     return(Login(identificador, senha, true, aplicacao, versaoApp));
 }
Exemple #22
0
 private Task <List <Menu> > ObterPermissoesRecursosAsync(int matricula, string versao, Aplicacoes aplicacao)
 {
     return(Task.Factory.StartNew(() => _menuBusiness.GetPermitidos((int)aplicacao, matricula, 0, 0, versao)));
 }
Exemple #23
0
        public int RegistrarTokenNotificacaoDevice(int matricula, string token, Utilidades.TipoDevice idDevice, Aplicacoes aplicacao)
        {
            var result = 0;

            if (!string.IsNullOrEmpty(token) && (Utilidades.IsTablet(idDevice) || Utilidades.IsMobile(idDevice)))
            {
                result = _alunoRepository.SetDeviceToken(new DeviceToken
                {
                    Register    = matricula,
                    Token       = token,
                    bitIsTablet = Utilidades.IsTablet(idDevice),
                    AplicacaoId = (int)aplicacao
                });
            }
            return(result);
        }
Exemple #24
0
        private ValidaLoginDTO Login(string identificador, string senha, bool validarSenha, Aplicacoes aplicacao, string versaoApp)
        {
            senha = validarSenha ? Utilidades.EncryptionSHA1(senha) : senha;
            Task <PermissaoInadimplencia> tarefaInadimplencia = null;
            Task <List <Menu> >           menusPermitidos     = null;
            Task <IDictionary <Utilidades.EMenuAccessObject, bool> > tarefaPermissoesRMais = null;
            IDictionary <Utilidades.EMenuAccessObject, bool>         permissoesRMais       = new Dictionary <Utilidades.EMenuAccessObject, bool>();

            var tarefaVersaoLoja = Utilidades.ObterUltimaVersaoLojaAsync(aplicacao);

            Cliente pessoa           = new Cliente();
            var     isGolden         = false;
            var     alunoMedMedcurso = true;

            Cliente cliente = new Cliente {
                Register = identificador
            };
            var dadosBasicos = GetRegisterParaLogin(identificador);

            if (dadosBasicos != null)
            {
                cliente.Register = dadosBasicos.Register;
                menusPermitidos  = ObterPermissoesRecursosAsync(dadosBasicos.ID, versaoApp, aplicacao);
            }

            var tipoPessoa  = _clienteRepository.GetPersonType(cliente.Register);
            var isProfessor = (tipoPessoa == Pessoa.EnumTipoPessoa.Professor || tipoPessoa == Pessoa.EnumTipoPessoa.Funcionario);

            if (tipoPessoa == Pessoa.EnumTipoPessoa.Cliente)
            {
                tarefaInadimplencia = VerificaInadimplenciaAsync(cliente.Register, aplicacao);

                pessoa        = _clienteRepository.GetByFilters(cliente, 0, aplicacao).FirstOrDefault();
                pessoa.Nome   = Utilidades.GetNomeResumido(pessoa.Nome);
                pessoa.Avatar = pessoa.Avatar;
                pessoa.Estado = _alunoRepository.GetAlunoEstado(pessoa.ID);
            }
            else if (isProfessor)
            {
                var funcionario = _funcionarioRepository.GetFuncionariosRecursos(cliente.Register).FirstOrDefault();
                pessoa.ID            = funcionario.ID;
                pessoa.Nome          = Utilidades.GetNomeResumido(funcionario.Nome);
                pessoa.Senha         = funcionario.Senha;
                pessoa.RetornoStatus = Cliente.StatusRetorno.Inexistente;

                var avatarProfessor = string.Concat(
                    Constants.URLDIRETORIOAVATARPROFESSOR, pessoa.ID, ".jpg"
                    );

                pessoa.Avatar = Utilidades.VerificaImagemExiste(avatarProfessor) ?
                                avatarProfessor : Constants.LINK_STATIC_AVATAR_PADRAO;
            }
            else if (tipoPessoa == Pessoa.EnumTipoPessoa.NaoExiste)
            {
                return(ValidaLoginDTO.AlunoInexistente);
            }

            if (IsLoginSucesso(tipoPessoa, pessoa.RetornoStatus))
            {
                isGolden = _clienteRepository.UserGolden(cliente.Register, aplicacao) == 1;
            }

            if (tipoPessoa == Pessoa.EnumTipoPessoa.Cliente)
            {
                tarefaPermissoesRMais = ObterPermissoesRecursosRMaisAsync(menusPermitidos.Result);
                alunoMedMedcurso      = ObterPermissoesRecursosRUm(menusPermitidos.Result);

                var result = ValidaResultadoLoginCliente(pessoa, senha, validarSenha, isGolden, tarefaInadimplencia);

                if (result != null)
                {
                    if (StatusLoginPermiteAcesso(result.Validacao))
                    {
                        var acessoRmais             = tarefaPermissoesRMais.Result;
                        var acessoR1                = alunoMedMedcurso;
                        var acessoRmaisPorInteresse = GanhaPermissaoRMaisPorInteresse(pessoa.ID, acessoR1, acessoRmais);

                        if (acessoRmaisPorInteresse)
                        {
                            acessoRmais = LiberarPermissoes(tarefaPermissoesRMais.Result);
                        }

                        var permissao = ObterHashPermissao(
                            new KeyValuePair <string, object>("matricula", pessoa.ID),
                            new KeyValuePair <string, object>("RMais", acessoRmais),
                            new KeyValuePair <string, object>("RUm", acessoR1)
                            );

                        result.Versao                  = ObterDadosVersao(versaoApp, tarefaVersaoLoja.Result, aplicacao);
                        result.Perfil.RUm              = acessoR1;
                        result.Perfil.RMais            = PossuiPermissaoRecursoRMais(pessoa.ID, acessoR1, acessoRmais);
                        result.Perfil.ProdutoPrincipal = GetNomeProdutoPermissao(acessoRmais);
                        result.Perfil.Hash             = Criptografia.CryptAES(permissao);
                    }
                    return(result);
                }
            }

            var senhaGolden = string.Empty;

            if (isGolden)
            {
                senhaGolden = _clienteRepository.ObterSenhaGolden();
                senhaGolden = Utilidades.EncryptionSHA1(senhaGolden);
            }

            if (validarSenha && senha != pessoa.Senha && (!isGolden || senha != senhaGolden))
            {
                return(ValidaLoginDTO.SenhaInvalida);
            }

            var versao = ObterDadosVersao(versaoApp, tarefaVersaoLoja.Result, aplicacao);

            var permissaoR1 = alunoMedMedcurso;

            if (isProfessor)
            {
                permissoesRMais = LiberarPermissoesRecursosRMaisProfessor();
                permissaoR1     = true;
            }
            else
            {
                permissoesRMais = tarefaPermissoesRMais.Result;
            }

            var permiteRMaisPorInteresse = GanhaPermissaoRMaisPorInteresse(pessoa.ID, permissaoR1, permissoesRMais);

            if (permiteRMaisPorInteresse)
            {
                permissoesRMais = LiberarPermissoes(tarefaPermissoesRMais.Result);
            }

            var hash = ObterHashPermissao(
                new KeyValuePair <string, object>("matricula", pessoa.ID),
                new KeyValuePair <string, object>("RMais", permissoesRMais),
                new KeyValuePair <string, object>("RUm", permissaoR1)
                );

            return(new ValidaLoginDTO
            {
                Validacao = ValidacaoLogin.Sucesso,
                Versao = versao,
                Perfil = new PerfilDTO
                {
                    Matricula = pessoa.ID,
                    Email = pessoa.Email ?? pessoa.Email2 ?? pessoa.Email3,
                    Especialidade = pessoa.Especialidade,
                    Nome = pessoa.Nome,
                    UrlAvatar = pessoa.Avatar,
                    RUm = permissaoR1,
                    RMais = PossuiPermissaoRecursoRMais(pessoa.ID, permissaoR1, permissoesRMais),
                    ProdutoPrincipal = GetNomeProdutoPermissao(permissoesRMais),
                    Estado = pessoa.Estado,
                    Hash = Criptografia.CryptAES(hash)
                }
            });
        }
Exemple #25
0
 public List <Aluno> GetAlunosPorRegra(List <RegraCondicao> listRegraCondicao, Aplicacoes aplicacao)
 {
     throw new NotImplementedException();
 }