Ejemplo n.º 1
0
        private void DuplicarPermissoes(Etapa etapaOriginal, Etapa etapaNova)
        {
            etapaNova.Permissoes = new List <EtapaPermissao>();

            foreach (var etapaPermissao in etapaOriginal.Permissoes)
            {
                var permissao = new EtapaPermissao
                {
                    Etapa            = etapaNova,
                    Perfil           = etapaPermissao.Perfil,
                    Usuario          = etapaPermissao.Usuario,
                    NivelOcupacional = etapaPermissao.NivelOcupacional,
                    Uf                    = etapaPermissao.Uf,
                    Notificar             = etapaPermissao.Notificar,
                    Analisar              = etapaPermissao.Analisar,
                    ChefeImediato         = etapaPermissao.ChefeImediato,
                    DiretorCorrespondente = etapaPermissao.DiretorCorrespondente,
                    GerenteAdjunto        = etapaPermissao.GerenteAdjunto,
                    Solicitante           = etapaPermissao.Solicitante
                };

                //repositorioEtapaPermissao.SalvarSemCommit(permissao);

                etapaNova.Permissoes.Add(permissao);
            }
        }
Ejemplo n.º 2
0
        public void Salvar(EtapaPermissao model)
        {
            //Caso seja unico, descomentar a linha baixo e implementar
            //a verificacao por nome do programa.
            if (model.ID == 0)
            {
                if (this.ObterPorId(model.ID) != null)
                {
                    throw new AcademicoException("Já existe um registro.");
                }
            }

            repositorio.Salvar(model);
        }
Ejemplo n.º 3
0
        public IList <EtapaPermissao> ObterPorFiltro(EtapaPermissao modulo)
        {
            var query = repositorio.session.Query <EtapaPermissao>();

            //if (!string.IsNullOrEmpty(modulo.Nome))
            //    query = query.Where(x => x.Nome.Contains(modulo.Nome));

            //if (modulo.Capacitacao.ID > 0)
            //{
            //    query = query.Where(x => x.Capacitacao.ID == modulo.Capacitacao.ID);
            //}
            //else if (modulo.Capacitacao.ID == 0 && modulo.Capacitacao.Programa.ID > 0)
            //{
            //    query = query.Where(x => x.Capacitacao.Programa.ID == modulo.Capacitacao.Programa.ID);
            //}

            return(query.ToList <EtapaPermissao>());
        }
Ejemplo n.º 4
0
 private void ValidarModuloInformada(EtapaPermissao model)
 {
     //throw new NotImplementedException();
 }
Ejemplo n.º 5
0
 public void Excluir(EtapaPermissao model)
 {
     repositorio.Excluir(model);
 }
Ejemplo n.º 6
0
        public void ValidarTipoEtapaPermissao()
        {
            var qntTiposPermissoes =
                Enum.GetValues(typeof(enumTipoEtapaPermissao)).Cast <enumTipoEtapaPermissao>().Count();

            var propriedades =
                typeof(EtapaPermissao).GetProperties(BindingFlags.Public | BindingFlags.Instance |
                                                     BindingFlags.DeclaredOnly);

            var propriedadesSingulares =
                propriedades.Count(
                    x =>
                    x.GetCustomAttributes(false)
                    .FirstOrDefault(y => y.GetType() == typeof(IsSingularEtapaPermissaoField)) !=
                    null);

            var propriedadesCompostas =
                propriedades.Count(
                    x =>
                    x.GetCustomAttributes(false)
                    .FirstOrDefault(y => y.GetType() == typeof(IsCompositeEtapaPermissaoField)) !=
                    null);


            Assert.AreEqual(propriedadesSingulares + (propriedadesCompostas * 2), qntTiposPermissoes, 0,
                            "A quantidade de enums implementados no Tipo da Etapa Permissão é diferente da quantidade de propriedades existentes da EtapaPermissao. Implemente as novas propriedades da EtapaPermissao no enumTipoEtapaPermissao");

            Assert.Throws <InvalidCastException>(() => new EtapaPermissao().ObterTipoEtapaPermissao(),
                                                 "Novo tipo de permissão não implementado");

            // Testes de tipos COMPLEXOS

            // Perfil
            var etapaPermissaoPerfil = new EtapaPermissao {
                Perfil = new Perfil {
                    ID = 10
                }
            };
            var tipoValuePerfil = etapaPermissaoPerfil.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.Perfil, tipoValuePerfil.Key);
            Assert.AreEqual(etapaPermissaoPerfil.Perfil.ID, tipoValuePerfil.Value);

            // Nível Ocupacional
            var etapaPermissaoNivelOcupacional = new EtapaPermissao {
                NivelOcupacional = new NivelOcupacional {
                    ID = 10
                }
            };
            var tipoValueNivelOcupacional = etapaPermissaoNivelOcupacional.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.NivelOcupacional, tipoValueNivelOcupacional.Key);
            Assert.AreEqual(etapaPermissaoNivelOcupacional.NivelOcupacional.ID, tipoValueNivelOcupacional.Value);

            // Uf
            var etapaPermissaoUf = new EtapaPermissao {
                Uf = new Uf {
                    ID = 10
                }
            };
            var tipoValueUf = etapaPermissaoUf.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.Uf, tipoValueUf.Key);
            Assert.AreEqual(etapaPermissaoUf.Uf.ID, tipoValueUf.Value);

            // Usuário
            // Notificar
            var etapaPermissaoNotificarUsuario = new EtapaPermissao {
                Notificar = true, Usuario = new Usuario {
                    ID = 10
                }
            };
            var tipoValueNotificarUsuario = etapaPermissaoNotificarUsuario.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.NotificarUsuario, tipoValueNotificarUsuario.Key);
            Assert.AreEqual(etapaPermissaoNotificarUsuario.Usuario.ID, tipoValueNotificarUsuario.Value);

            // Usuário
            // Analisar
            var etapaPermissaoAnalisarUsuario = new EtapaPermissao {
                Analisar = true, Usuario = new Usuario {
                    ID = 10
                }
            };
            var tipoValueAnalisarUsuario = etapaPermissaoAnalisarUsuario.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.AnalisarUsuario, tipoValueAnalisarUsuario.Key);
            Assert.AreEqual(etapaPermissaoAnalisarUsuario.Usuario.ID, tipoValueAnalisarUsuario.Value);

            // Testes de tipos SIMPLES

            // Solicitante
            // Notificar
            var etapaPermissaoNotificarSolicitante = new EtapaPermissao {
                Notificar = true, Solicitante = true
            };
            var tipoValueNotificarSolicitante = etapaPermissaoNotificarSolicitante.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.NotificarSolicitante, tipoValueNotificarSolicitante.Key);
            Assert.AreEqual(etapaPermissaoNotificarSolicitante.Notificar, tipoValueNotificarSolicitante.Value);

            // Analisa
            var etapaPermissaoAnalisarSolicitante = new EtapaPermissao {
                Analisar = true, Solicitante = true
            };
            var tipoValueAnalisarrSolicitante = etapaPermissaoAnalisarSolicitante.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.AnalisarSolicitante, tipoValueAnalisarrSolicitante.Key);
            Assert.AreEqual(etapaPermissaoAnalisarSolicitante.Solicitante, tipoValueAnalisarrSolicitante.Value);

            // ChefeImediato
            // Notificar
            var etapaPermissaoNotificarChefeImediato = new EtapaPermissao {
                Notificar = true, ChefeImediato = true
            };
            var tipoValueNotificarChefeImediato = etapaPermissaoNotificarChefeImediato.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.NotificarChefeImediato, tipoValueNotificarChefeImediato.Key);
            Assert.AreEqual(etapaPermissaoNotificarChefeImediato.ChefeImediato, tipoValueNotificarChefeImediato.Value);

            // Analisar
            var etapaPermissaoAnalisarChefeImediato = new EtapaPermissao {
                Analisar = true, ChefeImediato = true
            };
            var tipoValueAnalisarChefeImediato = etapaPermissaoAnalisarChefeImediato.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.AnalisarChefeImediato, tipoValueAnalisarChefeImediato.Key);
            Assert.AreEqual(etapaPermissaoAnalisarChefeImediato.ChefeImediato, tipoValueAnalisarChefeImediato.Value);

            // GerenteAdjunto
            // Notificar
            var etapaPermissaoNotificarGerenteAdjunto = new EtapaPermissao {
                Notificar = true, GerenteAdjunto = true
            };
            var tipoValueNotificarGerenteAdjunto = etapaPermissaoNotificarGerenteAdjunto.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.NotificarGerenteAdjunto, tipoValueNotificarGerenteAdjunto.Key);
            Assert.AreEqual(etapaPermissaoNotificarGerenteAdjunto.GerenteAdjunto, tipoValueNotificarGerenteAdjunto.Value);
            // Analisar
            var etapaPermissaoAnalisarGerenteAdjunto = new EtapaPermissao {
                Analisar = true, GerenteAdjunto = true
            };
            var tipoValueAnalisarGerenteAdjunto = etapaPermissaoAnalisarGerenteAdjunto.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.AnalisarGerenteAdjunto, tipoValueAnalisarGerenteAdjunto.Key);
            Assert.AreEqual(etapaPermissaoAnalisarGerenteAdjunto.GerenteAdjunto, tipoValueAnalisarGerenteAdjunto.Value);

            // DiretorCorrespondente
            // Notificar
            var etapaPermissaoNotificarDiretorCorrespondente = new EtapaPermissao {
                Notificar = true, DiretorCorrespondente = true
            };
            var tipoValueNotificarDiretorCorrespondente = etapaPermissaoNotificarDiretorCorrespondente.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.NotificarDiretorCorrespondente, tipoValueNotificarDiretorCorrespondente.Key);
            Assert.AreEqual(etapaPermissaoNotificarDiretorCorrespondente.DiretorCorrespondente, tipoValueNotificarDiretorCorrespondente.Value);
            // Analisar
            var etapaPermissaoAnalisarDiretorCorrespondente = new EtapaPermissao {
                Analisar = true, DiretorCorrespondente = true
            };
            var tipoValueAnalisarDiretorCorrespondente = etapaPermissaoAnalisarDiretorCorrespondente.ObterTipoEtapaPermissao();

            Assert.AreEqual(enumTipoEtapaPermissao.AnalisarDiretorCorrespondente, tipoValueAnalisarDiretorCorrespondente.Key);
            Assert.AreEqual(etapaPermissaoAnalisarDiretorCorrespondente.DiretorCorrespondente, tipoValueAnalisarDiretorCorrespondente.Value);
        }