public IQueryable <Funcionario> ListarComPerfil(PerfilDeAcesso Perfil)
        {
            var Lista = base.Listar();

            if (Perfil.Descricao != "Administrador")
            {
                Lista = Lista.Where(p => p.PerfilDeAcesso.Descricao != "Administrador");
            }
            return(Lista);
        }
Ejemplo n.º 2
0
        public async Task <CredentialModel> ValidateCredentials(UserModel user)
        {
            bool           credenciaisValidas = false;
            Usuario        userIdentity       = null;
            PerfilDeAcesso perfilDeAcesso     = null;

            user.Validate();

            if (user != null)
            {
                userIdentity = await _userManager.FindByEmailAsync(user.UserID);

                if (userIdentity != null)
                {
                    SignInResult resultadoLogin = await _signInManager.CheckPasswordSignInAsync(
                        userIdentity,
                        user.Password,
                        false
                        );

                    if (resultadoLogin.Succeeded)
                    {
                        credenciaisValidas = await _userManager.IsInRoleAsync(userIdentity, RolesModel.Principal);

                        perfilDeAcesso = _perfilDeAcessoService.Obter(userIdentity.Id);

                        if (perfilDeAcesso.EstaInativo())
                        {
                            throw new UnauthorizedAccessException("Usuário inativado, entre em contato com um administrador");
                        }
                    }
                    else
                    {
                        throw new UnauthorizedAccessException("E-mail ou senha inválidos");
                    }
                }
                else
                {
                    throw new UnauthorizedAccessException("E-mail ou senha inválidos");
                }
            }
            else
            {
                throw new InvalidOperationException("Ocorreu um erro desconhecido, se persistir reporte");
            }

            return(new CredentialModel(credenciaisValidas, new UserModel(userIdentity.Id, userIdentity.Email, userIdentity.UserName, perfilDeAcesso.Perfil.ToString())));
        }
Ejemplo n.º 3
0
        protected override void Seed(Infraestrutura.PontoContext context)
        {
            #region 'Perfil de Acesso'

            var perfilAdminitrador = new PerfilDeAcesso()
            {
                Id        = Guid.Parse("09c15773-d1a5-4daa-a3b3-e8c6741d63fd"),
                Descricao = "Administrador",
                Criacao   = DateTime.Now.Date
            };

            var perfilGerente = new PerfilDeAcesso()
            {
                Id        = Guid.Parse("4036b285-e7fb-4ac0-aac4-5196fde05dd8"),
                Descricao = "Gerente/RH",
                Criacao   = DateTime.Now.Date
            };

            var perfilFuncionario = new PerfilDeAcesso()
            {
                Id        = Guid.Parse("3acc5625-0663-47c2-bb4d-e507ee5b004f"),
                Descricao = "Funcionario",
                Criacao   = DateTime.Now.Date
            };

            var perf = context.Set <PerfilDeAcesso>().FirstOrDefault(p => p.Id == perfilAdminitrador.Id);
            if (perf == null)
            {
                context.Set <PerfilDeAcesso>().Add(perfilAdminitrador);
            }

            perf = context.Set <PerfilDeAcesso>().FirstOrDefault(p => p.Id == perfilGerente.Id);
            if (perf == null)
            {
                context.Set <PerfilDeAcesso>().Add(perfilGerente);
            }

            perf = context.Set <PerfilDeAcesso>().FirstOrDefault(p => p.Id == perfilFuncionario.Id);
            if (perf == null)
            {
                context.Set <PerfilDeAcesso>().Add(perfilFuncionario);
            }

            #endregion

            #region 'Empresas'

            var empresa = new Empresa()
            {
                Id             = Guid.Parse("e6a1d40d-05bf-4a81-b1fd-72893c07a23e"),
                RazaoSocial    = "FabricaTCC",
                Bairro         = "Campo Grande",
                Bloqueado      = "N",
                Cep            = "23070420",
                Cidade         = "Rio de Janeiro",
                Cnpj           = "012392834000198",
                Estado         = "RJ",
                NomeFantasia   = "Fabrica TCC",
                NumeroEndereco = 1330,
                Pais           = "Brasil",
                Logradouro     = "Estrada do Campinho",
                Criacao        = DateTime.Now.Date
            };

            var emp = context.Set <Empresa>().FirstOrDefault(p => p.Id == empresa.Id);
            if (emp == null)
            {
                context.Set <Empresa>().Add(empresa);
            }

            #endregion

            #region 'Horarios de Expediente'

            HorarioDeExpediente horarioPadrao = new HorarioDeExpediente()
            {
                Id        = Guid.Parse("182E32E3-1546-435F-9F00-D509C3161C95"),
                Empresa   = empresa,
                Descricao = "Horário Padrão",
                Criacao   = DateTime.Now.Date
            };
            var horario = context.Set <HorarioDeExpediente>().FirstOrDefault(p => p.Id == horarioPadrao.Id);
            if (horario == null)
            {
                context.Set <HorarioDeExpediente>().Add(horarioPadrao);
            }

            #region 'Itens de Hora de expediente 0'

            ItemHorarioDeExpediente itemHorarioPadrao0 = new ItemHorarioDeExpediente()
            {
                Id                  = Guid.Parse("cd03e454-4316-43fd-96cf-3ef1b91c60a5"),
                DiaSemana           = 0,
                Horas               = 0,
                HorarioDeExpediente = horarioPadrao,
                Criacao             = DateTime.Now.Date
            };

            var ItemHorario0 = context.Set <ItemHorarioDeExpediente>().FirstOrDefault(p => p.Id == itemHorarioPadrao0.Id);
            if (ItemHorario0 == null)
            {
                context.Set <ItemHorarioDeExpediente>().Add(itemHorarioPadrao0);
            }

            #endregion
            #region 'Itens de Hora de expediente 1'

            ItemHorarioDeExpediente itemHorarioPadrao1 = new ItemHorarioDeExpediente()
            {
                Id                  = Guid.Parse("cd03e454-4316-43fd-96cf-3ef1b91c60a6"),
                DiaSemana           = 1,
                Horas               = 8,
                HorarioDeExpediente = horarioPadrao,
                Criacao             = DateTime.Now.Date
            };


            var ItemHorario1 = context.Set <ItemHorarioDeExpediente>().FirstOrDefault(p => p.Id == itemHorarioPadrao1.Id);
            if (ItemHorario1 == null)
            {
                context.Set <ItemHorarioDeExpediente>().Add(itemHorarioPadrao1);
            }

            #endregion
            #region 'Itens de Hora de expediente 2'

            ItemHorarioDeExpediente itemHorarioPadrao2 = new ItemHorarioDeExpediente()
            {
                Id                  = Guid.Parse("cd03e454-4316-43fd-96cf-3ef1b91c60a7"),
                DiaSemana           = 2,
                Horas               = 8,
                HorarioDeExpediente = horarioPadrao,
                Criacao             = DateTime.Now.Date
            };


            var ItemHorario2 = context.Set <ItemHorarioDeExpediente>().FirstOrDefault(p => p.Id == itemHorarioPadrao2.Id);
            if (ItemHorario2 == null)
            {
                context.Set <ItemHorarioDeExpediente>().Add(itemHorarioPadrao2);
            }

            #endregion
            #region 'Itens de Hora de expediente 3'

            ItemHorarioDeExpediente itemHorarioPadrao3 = new ItemHorarioDeExpediente()
            {
                Id                  = Guid.Parse("cd03e454-4316-43fd-96cf-3ef1b91c60a8"),
                DiaSemana           = 3,
                Horas               = 8,
                HorarioDeExpediente = horarioPadrao,
                Criacao             = DateTime.Now.Date
            };


            var ItemHorario3 = context.Set <ItemHorarioDeExpediente>().FirstOrDefault(p => p.Id == itemHorarioPadrao3.Id);
            if (ItemHorario3 == null)
            {
                context.Set <ItemHorarioDeExpediente>().Add(itemHorarioPadrao3);
            }

            #endregion
            #region 'Itens de Hora de expediente 4'

            ItemHorarioDeExpediente itemHorarioPadrao4 = new ItemHorarioDeExpediente()
            {
                Id                  = Guid.Parse("cd03e454-4316-43fd-96cf-3ef1b91c60a9"),
                DiaSemana           = 4,
                Horas               = 8,
                HorarioDeExpediente = horarioPadrao,
                Criacao             = DateTime.Now.Date
            };


            var ItemHorario4 = context.Set <ItemHorarioDeExpediente>().FirstOrDefault(p => p.Id == itemHorarioPadrao4.Id);
            if (ItemHorario4 == null)
            {
                context.Set <ItemHorarioDeExpediente>().Add(itemHorarioPadrao4);
            }

            #endregion
            #region 'Itens de Hora de expediente 5'

            ItemHorarioDeExpediente itemHorarioPadrao5 = new ItemHorarioDeExpediente()
            {
                Id                  = Guid.Parse("cd03e454-4316-43fd-96cf-3ef1b91c6010"),
                DiaSemana           = 5,
                Horas               = 8,
                HorarioDeExpediente = horarioPadrao,
                Criacao             = DateTime.Now.Date
            };


            var ItemHorario5 = context.Set <ItemHorarioDeExpediente>().FirstOrDefault(p => p.Id == itemHorarioPadrao5.Id);
            if (ItemHorario5 == null)
            {
                context.Set <ItemHorarioDeExpediente>().Add(itemHorarioPadrao5);
            }

            #endregion
            #region 'Itens de Hora de expediente 6'

            ItemHorarioDeExpediente itemHorarioPadrao6 = new ItemHorarioDeExpediente()
            {
                Id                  = Guid.Parse("cd03e454-4316-43fd-96cf-3ef1b91c6011"),
                DiaSemana           = 6,
                Horas               = 0,
                HorarioDeExpediente = horarioPadrao,
                Criacao             = DateTime.Now.Date
            };


            var ItemHorario6 = context.Set <ItemHorarioDeExpediente>().FirstOrDefault(p => p.Id == itemHorarioPadrao6.Id);
            if (ItemHorario6 == null)
            {
                context.Set <ItemHorarioDeExpediente>().Add(itemHorarioPadrao6);
            }

            #endregion

            #endregion

            #region 'Funcionários'

            var funcionarioAdministrador = new Funcionario()
            {
                Id                  = Guid.Parse("69d2fad2-9ffe-4f2d-ad85-3ff4b277f805"),
                Nome                = "Administrador",
                Email               = "*****@*****.**",
                Senha               = Criptografia.Encrypt("admin"),
                Empresa             = empresa,
                PerfilDeAcesso      = perfilAdminitrador,
                HorarioDeExpediente = horarioPadrao,
                Criacao             = DateTime.Now.Date
            };


            var func = context.Set <Funcionario>().FirstOrDefault(p => p.Email == funcionarioAdministrador.Email);
            if (func == null)
            {
                context.Set <Funcionario>().Add(funcionarioAdministrador);
            }

            #endregion
        }