Exemplo n.º 1
0
        private void SelecionarAtitude()
        {
            if (!String.IsNullOrEmpty(ddlAtitudes.SelectedItem.Text))
            {
                string desc = ddlAtitudes.SelectedItem.Text;
                int    code = Convert.ToInt32(ddlAtitudes.SelectedItem.Value);

                int count = 0;
                foreach (CompetenciaNivelDTO compDTO in ListaCompetenciaFuncionario)
                {
                    if (compDTO.CompID == code)
                    {
                        Master.OpenWarningModal("Esta atitude já faz parte do perfil!");
                        break;
                    }
                    count++;
                }

                if (count == ListaCompetenciaFuncionario.Count)
                {
                    // chegou ao fim da lista e a competência selecionada não faz parte do perfil.
                    CompetenciaNivelDTO comp = new CompetenciaNivelDTO();
                    comp.CompID    = code;
                    comp.CompNome  = desc;
                    comp.CompNivel = 0;

                    ListaNovasCompetencias.Add(comp);
                    ListaCompetenciaFuncionario.Add(comp);
                    grvCompFuncionario.DataSource = ListaCompetenciaFuncionario;
                    grvCompFuncionario.DataBind();
                }
            }
        }
        public List <CompetenciaNivelDTO> LoadCompetenciasProjeto(int idProjeto)
        {
            List <CompetenciaNivelDTO> listaCompetenciaProjeto = new List <CompetenciaNivelDTO>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from proj in db.Projetoes
                                where proj.proj_id == idProjeto
                                select proj;

                    // instancia um objeto DTO que é a competência com nível.
                    foreach (Competencia comp in query.Single().Competencias.ToList <Competencia>())
                    {
                        CompetenciaNivelDTO compNivel = new CompetenciaNivelDTO();
                        compNivel.CompID    = comp.comp_id;
                        compNivel.CompNome  = comp.comp_nome;
                        compNivel.CompDesc  = comp.comp_descricao;
                        compNivel.CompNivel = 0;
                        listaCompetenciaProjeto.Add(compNivel);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.TipoCompetenciaExcecao("Ocorreu um problema ao recuperar a lista de competências deste projeto! ");
            }
            return(listaCompetenciaProjeto);
        }
Exemplo n.º 3
0
        public List <CompetenciaNivelDTO> LoadCompetenciasProjetoComNiveis(int?idFuncionario, int?idProjeto)
        {
            List <CompetenciaNivelDTO> listaCompetenciasComNiveis = new List <CompetenciaNivelDTO>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    // pego todos os registro daquele funcionario na Usu_Aval_Comp
                    var query01 = from usuAvalComp in db.Usu_Aval_Comp
                                  where idFuncionario == usuAvalComp.uac_usu_id
                                  orderby usuAvalComp.uac_comp_id descending, usuAvalComp.uac_aval_id descending
                    select usuAvalComp;

                    // pego o projeto
                    var query02 = from proj in db.Projetoes
                                  where idProjeto == proj.proj_id
                                  select proj;

                    // pego as competencias do projeto e coloco os ids delas em uma lista
                    List <Competencia> listaCompetenciasProjeto = query02.ToList()[0].Competencias.ToList();
                    List <int>         listaCompIds             = new List <int>();
                    foreach (Competencia comp in listaCompetenciasProjeto)
                    {
                        listaCompIds.Add(comp.comp_id);
                    }
                    List <int> listaAuxiliar = new List <int>();
                    foreach (Usu_Aval_Comp uac in query01.ToList())
                    {
                        if (!listaAuxiliar.Contains(uac.uac_comp_id))
                        {
                            // so vou adicionar a competencia na lista final se ela pertencer ao projeto
                            if (listaCompIds.Contains(uac.uac_comp_id))
                            {
                                CompetenciaNivelDTO compNivelDTO = new CompetenciaNivelDTO();
                                compNivelDTO.CompID    = uac.uac_comp_id;
                                compNivelDTO.CompNome  = uac.Competencia.comp_nome;
                                compNivelDTO.CompDesc  = uac.Competencia.comp_descricao;
                                compNivelDTO.CompNivel = (int)uac.Avaliacao.aval_nivel;
                                listaCompetenciasComNiveis.Add(compNivelDTO);
                                listaAuxiliar.Add(compNivelDTO.CompID);
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.TipoCompetenciaExcecao("Ocorreu um problema ao recuperar a lista de competências deste funcionário! ");
            }
            return(listaCompetenciasComNiveis);
        }
Exemplo n.º 4
0
        public List <CompetenciaNivelDTO> CarregarHistoricoComp(int idCompetencia, int idFuncionario)
        {
            List <CompetenciaNivelDTO> listaCompetencia = new List <CompetenciaNivelDTO>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from usuAvalComp in db.Usu_Aval_Comp
                                join avaliacao in db.Avaliacaos on usuAvalComp.uac_aval_id equals avaliacao.aval_id
                                join competencia in db.Competencias on usuAvalComp.uac_comp_id equals competencia.comp_id
                                where usuAvalComp.uac_usu_id == idFuncionario &&
                                usuAvalComp.uac_comp_id == idCompetencia
                                select new
                    {
                        competencia.comp_id,
                        competencia.comp_nome,
                        competencia.comp_descricao,
                        avaliacao.aval_nivel,
                        avaliacao.aval_data,
                    };

                    foreach (var item in query.ToList())
                    {
                        CompetenciaNivelDTO compNivel = new CompetenciaNivelDTO();
                        compNivel.CompID       = item.comp_id;
                        compNivel.CompNome     = item.comp_nome;
                        compNivel.CompDesc     = item.comp_descricao;
                        compNivel.CompAvalData = item.aval_data;
                        compNivel.CompNivel    = Convert.ToInt32(item.aval_nivel);

                        listaCompetencia.Add(compNivel);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.AvaliacaoExcecao("Ocorreu um problema ao recuperar o histórico desta competência!");
            }
            return(listaCompetencia);
        }
Exemplo n.º 5
0
        public List <CompetenciaNivelDTO> LoadCompetenciasComNiveis(int?idFuncionario)
        {
            List <CompetenciaNivelDTO> listaCompetenciasComNiveis = new List <CompetenciaNivelDTO>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    // pego todos os registro daquele funcionario na Usu_Aval_Comp
                    var query01 = from usuAvalComp in db.Usu_Aval_Comp
                                  where idFuncionario == usuAvalComp.uac_usu_id
                                  orderby usuAvalComp.uac_comp_id descending, usuAvalComp.uac_aval_id descending
                    select usuAvalComp;

                    List <int> listaAuxiliar = new List <int>();
                    foreach (Usu_Aval_Comp uac in query01.ToList())
                    {
                        if (!listaAuxiliar.Contains(uac.uac_comp_id))
                        {
                            CompetenciaNivelDTO compNivelDTO = new CompetenciaNivelDTO();
                            compNivelDTO.CompID    = uac.uac_comp_id;
                            compNivelDTO.CompNome  = uac.Competencia.comp_nome;
                            compNivelDTO.CompDesc  = uac.Competencia.comp_descricao;
                            compNivelDTO.CompNivel = (int)uac.Avaliacao.aval_nivel;
                            listaCompetenciasComNiveis.Add(compNivelDTO);

                            listaAuxiliar.Add(compNivelDTO.CompID);
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.TipoCompetenciaExcecao("Ocorreu um problema ao recuperar a lista de competências deste funcionário! ");
            }
            return(listaCompetenciasComNiveis);
        }
        public List <UsuarioDTO> PesquisarRecursos(List <CompetenciaNivelDTO> listaCompetenciaProj)
        {
            List <UsuarioDTO> listaRecursos = new List <UsuarioDTO>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    // instancia e popula um array com os id's das competências existentes no projeto.
                    // esse array é usado para fazer a lógico do "IN" em uma cláusula WHERE no entity framework.
                    int[] idCompetencias = new int[listaCompetenciaProj.Count];

                    int index = 0;
                    foreach (CompetenciaNivelDTO comp in listaCompetenciaProj)
                    {
                        idCompetencias[index] = comp.CompID;
                        index++;
                    }

                    // seleciona todos os usuários que contém pelo menos uma das competências do projeto.
                    var query = (from recurso in db.Usuarios
                                 join usuAvalComp in db.Usu_Aval_Comp on recurso.usu_id equals usuAvalComp.uac_usu_id
                                 where idCompetencias.Contains(usuAvalComp.uac_comp_id)
                                 select recurso).Distinct();

                    foreach (Usuario usuario in query.ToList())
                    {
                        UsuarioDTO usuarioDTO = new UsuarioDTO();
                        usuarioDTO.UsuarioID             = usuario.usu_id;
                        usuarioDTO.NomeUsuario           = usuario.usu_nome;
                        usuarioDTO.SobrenomeUsuario      = usuario.usu_sobrenome;
                        usuarioDTO.TipoUsuario           = usuario.usu_tipo_id;
                        usuarioDTO.Email                 = usuario.usu_email;
                        usuarioDTO.ListaCompetenciaNivel = new List <CompetenciaNivelDTO>();

                        // verifica se o usuário já está alocado em algum projeto.
                        var queryAlocado = from projFunc in db.Projeto_Funcionario
                                           where projFunc.prfu_usu_id == usuarioDTO.UsuarioID &&
                                           projFunc.prfu_data_termino >= DateTime.Today
                                           select projFunc;

                        if (queryAlocado.ToList().Count > 0)
                        {
                            usuarioDTO.Alocado = true;
                        }

                        // busca todas as competências do usuário com o respectivo valor do nível setado na avaliação
                        var queryCompetencias = from usuAvalComp in db.Usu_Aval_Comp
                                                join avaliacao in db.Avaliacaos on usuAvalComp.uac_aval_id equals avaliacao.aval_id
                                                join competencia in db.Competencias on usuAvalComp.uac_comp_id equals competencia.comp_id
                                                where usuAvalComp.uac_usu_id == usuarioDTO.UsuarioID &&
                                                avaliacao.aval_atual == true &&
                                                idCompetencias.Contains(usuAvalComp.uac_comp_id)
                                                select new
                        {
                            competencia.comp_id,
                            competencia.comp_nome,
                            competencia.comp_descricao,
                            avaliacao.aval_nivel,
                        };

                        foreach (var item in queryCompetencias.ToList())
                        {
                            CompetenciaNivelDTO compNivel = new CompetenciaNivelDTO(item.comp_id, item.comp_nome, item.comp_descricao, Convert.ToInt32(item.aval_nivel));
                            usuarioDTO.ListaCompetenciaNivel.Add(compNivel);
                        }

                        listaRecursos.Add(usuarioDTO);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.UsuarioExcecao("Ocorreu um problema ao pesquisar os recursos deste projeto!");
            }
            return(listaRecursos);
        }