Ejemplo n.º 1
0
        public ResponseDTO <AlunoMedsoft> GetAcessoAluno(string register, int idAplicacao, string appVersion)
        {
            var response = new ResponseDTO <AlunoMedsoft>
            {
                Retorno = new AlunoMedsoft()
            };

            try
            {
                var funcionarioEntity = new FuncionarioEntity();
                var pessoaEntity      = new PessoaEntity();
                var cliente           = new Cliente();
                using (MiniProfiler.Current.Step("Obtendo dados do usuario"))
                {
                    cliente = CacheClienteGetByFilters(register, idAplicacao);
                }

                if (cliente == null || cliente.ID == 0)
                {
                    SetResponse(false,
                                TipoErroAcesso.CadastroInexistente.GetDescription(),
                                _alunoRepository.GetMensagensLogin(idAplicacao, (int)TipoMensagemMEDSOFT.USUARIO_NAO_CADASTRADO),
                                TipoErroAcesso.CadastroInexistente);
                    return(response);
                }

                var   golden     = 0;
                var   tipoPessoa = new Pessoa.EnumTipoPessoa();
                var   tipoPerfil = new EnumTipoPerfil();
                var   isExAluno  = false;
                float tempoInadimplenciaTimeout = 0;

                using (MiniProfiler.Current.Step("Obtendo dados do usuario"))
                {
                    golden     = _clienteRepository.UserGolden(cliente.Register, Aplicacoes.MsProMobile);
                    tipoPessoa = pessoaEntity.GetPersonType(cliente.Register);
                    tipoPerfil = funcionarioEntity.GetTipoPerfilUsuario(cliente.ID);
                    isExAluno  = _alunoRepository.IsExAlunoTodosProdutos(cliente.ID);
                    tempoInadimplenciaTimeout = new ConfigBusiness(new ConfigEntity()).GetTempoInadimplenciaTimeoutParametro();
                }


                var aluno = new AlunoMedsoft
                {
                    ID         = cliente.ID,
                    Nome       = cliente.Nome,
                    NickName   = cliente.NickName,
                    Register   = cliente.Register,
                    Senha      = cliente.Senha,
                    Foto       = cliente.Foto,
                    FotoPerfil = cliente.FotoPerfil,
                    IsGolden   = golden > 0,
                    TipoPessoa = tipoPessoa,
                    TipoPerfil = tipoPerfil,
                    ExAluno    = isExAluno,
                    tokenLogin = Util.AuthJWT.GeraJwt(cliente.ID, Constants.doisDiasEmMinutos),
                    TempoInadimplenciaTimeout = tempoInadimplenciaTimeout,
                    LstOrdemVendaMsg          = cliente.LstOrdemVendaMsg
                };

                var anoLetivoAtual             = Utilidades.GetYear();
                var anoSeguinte                = anoLetivoAtual + 1;
                var anoAnterior                = anoLetivoAtual - 1;
                var anoAnteriorAntesDataLimite = Utilidades.IsAntesDatalimiteCache(anoAnterior, idAplicacao);

                var anoDireitoVitalicio = Convert.ToInt32(ConfigurationProvider.Get("Settings:anoComDireitoVitalicio"));
                var anosPermitidos      = new List <int>();

                for (var ano = anoDireitoVitalicio; ano <= anoSeguinte; ano++)
                {
                    anosPermitidos.Add(ano);
                }

                if (anoAnteriorAntesDataLimite)
                {
                    anosPermitidos.Add(anoAnterior);
                }

                response.LstOrdemVendaMsg = cliente.LstOrdemVendaMsg;

                response.Retorno = aluno;
                response.Sucesso = true;
                return(response);
            }
            catch
            {
                throw;
            }
        }
Ejemplo n.º 2
0
 private bool IsLoginSucesso(Pessoa.EnumTipoPessoa tipoPessoa, Cliente.StatusRetorno statusLogin)
 {
     return((tipoPessoa == Pessoa.EnumTipoPessoa.Cliente && statusLogin == Cliente.StatusRetorno.Sucesso) ||
            (tipoPessoa == Pessoa.EnumTipoPessoa.Professor || tipoPessoa == Pessoa.EnumTipoPessoa.Funcionario));
 }