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); }
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); }
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); }
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); }