Example #1
0
        public void ValidarAprovadorAgendamento(Agendamento agendamento, Usuario aprovador)
        {
            var perfisAprovadores = new EnumTipoPerfil[]
            {
                EnumTipoPerfil.Administrador,
                EnumTipoPerfil.Diretor
            };

            AddNotifications(new Contract()
                             .IsNotNull(agendamento, "AprovarAgendamento", MensagemValidacao.Agendamento.NaoExiste)
                             .IsNotNull(aprovador, "AprovarAgendamento", MensagemValidacao.Usuario.NaoExiste)
                             .IfNotNull(aprovador, x => x.IsTrue(perfisAprovadores.Contains(aprovador.Perfil), "AprovarAgendamento", MensagemValidacao.Agendamento.SemPermissao))
                             );
        }
Example #2
0
        public IEnumerable <Usuario> ObterPorPerfil(EnumTipoPerfil perfil)
        {
            var usuarios = _context.Usuarios
                           .Include(u => u.Endereco)
                           .Where(u => u.Perfil == perfil)
                           .AsNoTracking()
                           .ToList();

            if (usuarios == null)
            {
                return(Array.Empty <Usuario>().ToList());
            }

            return(usuarios);
        }
Example #3
0
 public void Editar(string matricula,
                    string email,
                    string nome,
                    EnumTipoPerfil perfil,
                    bool ativo,
                    string telefone,
                    DateTime dataNasc,
                    string documento)
 {
     Matricula      = matricula;
     Email          = email;
     Nome           = nome;
     Perfil         = perfil;
     Ativo          = ativo;
     Telefone       = telefone;
     DataNascimento = dataNasc;
     Documento      = documento;
 }
Example #4
0
 public Usuario(string matricula,
                string email,
                string nome,
                EnumTipoPerfil perfil,
                Endereco endereco,
                string telefone,
                DateTime dataNasc,
                string documento)
 {
     Id             = Guid.NewGuid();
     Matricula      = matricula;
     Email          = email;
     Nome           = nome;
     Senha          = matricula;
     Perfil         = perfil;
     Ativo          = true;
     DataCriacao    = DateTime.Now;
     Endereco       = endereco;
     EnderecoId     = endereco.Id;
     Telefone       = telefone;
     DataNascimento = dataNasc;
     Documento      = documento;
 }
Example #5
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;
            }
        }
 public IEnumerable <Usuario> ObterPorPerfil(EnumTipoPerfil perfil)
 {
     return(_usuarioRepository.ObterPorPerfil(perfil));
 }