public List <DropDownItem> LoadTipoUsuario()
        {
            List <DropDownItem> listaTipoUsuario = new List <DropDownItem>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from tipoUsuario in db.Tipo_Usuario
                                select tipoUsuario;

                    foreach (Tipo_Usuario tipo in query.ToList())
                    {
                        DropDownItem item = new DropDownItem(tipo.tipo_id, tipo.tipo_nome);
                        listaTipoUsuario.Add(item);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.UsuarioExcecao("Ocorreu um problema ao recuperar a lista de tipos de Usuários! ");
            }

            return(listaTipoUsuario);
        }
        internal bool MarcarProjetoAvaliado(int?idProjeto)
        {
            bool projetoAvaliado = false;

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

                    foreach (Projeto projeto in query.ToList())
                    {
                        projeto.proj_avaliado = true;
                        projetoAvaliado       = true;
                        db.SaveChanges();
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.UsuarioExcecao("Ocorreu um problema ao recuperar a lista de recursos.");
            }

            return(projetoAvaliado);
        }
示例#3
0
        public List <DropDownItem> LoadHabilidades()
        {
            List <DropDownItem> listaHabilidades = new List <DropDownItem>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from habilidade in db.Competencias
                                join tipo in db.Tipo_Competencia on habilidade.comp_tcom_id equals tipo.tcom_id
                                orderby habilidade.comp_nome
                                where tipo.tcom_id == 2
                                select habilidade;

                    foreach (Competencia comp in query.ToList())
                    {
                        DropDownItem item = new DropDownItem(comp.comp_id, comp.comp_nome);
                        listaHabilidades.Add(item);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.HabilidadeExcecao("Ocorreu um problema ao recuperar a lista de Conhecimentos");
            }

            return(listaHabilidades);
        }
        public List <DropDownItem> LoadRHProjetoDDL(int idProjeto)
        {
            List <DropDownItem> listaFuncionarios = new List <DropDownItem>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from recursoProj in db.Projeto_Funcionario
                                join usuario in db.Usuarios on recursoProj.prfu_usu_id equals usuario.usu_id
                                where recursoProj.prfu_proj_id == idProjeto
                                select new
                    {
                        recursoProj.prfu_usu_id,
                        usuario.usu_nome,
                        usuario.usu_sobrenome
                    };


                    foreach (var user in query.ToList())
                    {
                        DropDownItem item = new DropDownItem(user.prfu_usu_id, user.usu_nome + " " + user.usu_sobrenome);
                        listaFuncionarios.Add(item);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.UsuarioExcecao("Ocorreu um problema ao recuperar a lista de recursos.");
            }

            return(listaFuncionarios);
        }
示例#5
0
        public bool CadastrarConhecimento(string coNome, string coDescricao)
        {
            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    // Verifica se não existe já outro conhecimento com o mesmo nome.
                    var queryVal = from conhecimento in db.Competencias
                                   where conhecimento.comp_nome == coNome
                                   select conhecimento;

                    if (queryVal.Count() > 0)
                    {
                        return(false);
                    }
                    else
                    {
                        Competencia novoConhecimento = new Competencia();
                        novoConhecimento.comp_tcom_id   = 1;
                        novoConhecimento.comp_nome      = coNome;
                        novoConhecimento.comp_descricao = coDescricao;

                        db.Competencias.Add(novoConhecimento);
                        db.SaveChanges();
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.HabilidadeExcecao("Ocorreu um problema ao salvar as informações deste conhecimento! ");
            }

            return(true);
        }
        public bool CadastrarAtitude(string atNome, string atDescricao)
        {
            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    // Verifica se não existe já outra atitude com o mesmo nome.
                    var queryVal = from atitude in db.Competencias
                                   where atitude.comp_nome == atNome
                                   select atitude;

                    if (queryVal.Count() > 0)
                    {
                        return(false);
                    }
                    else
                    {
                        Competencia novaAtitude = new Competencia();
                        novaAtitude.comp_tcom_id   = 3;
                        novaAtitude.comp_nome      = atNome;
                        novaAtitude.comp_descricao = atDescricao;

                        db.Competencias.Add(novaAtitude);
                        db.SaveChanges();
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.AtitudeExcecao("Ocorreu um problema ao salvar as informações desta atitude! ");
            }

            return(true);
        }
        public List <Projeto> LoadProjetosTerminados(int?idGerente)
        {
            List <Projeto> listaProjeto = new List <Projeto>();

            if (idGerente != null)
            {
                try
                {
                    using (SAARHEntities db = new SAARHEntities())
                    {
                        var query = from projeto in db.Projetoes
                                    orderby projeto.proj_nome
                                    where projeto.proj_usu_id == idGerente &&
                                    projeto.proj_data_termino <= DateTime.Today &&
                                    projeto.proj_avaliado == false
                                    select projeto;

                        listaProjeto = query.ToList();
                    }
                }
                catch (Exception)
                {
                    throw new Excecoes.ProjetoExcecao("Ocorreu um problema ao recuperar a lista de Projetos terminados");
                }
            }

            return(listaProjeto);
        }
示例#8
0
        public bool RemoverEquipe(int idProjeto)
        {
            try
            {
                // remove todos os usuários da tabela Projeto_Funcionário para antes de salvar uma nova equipe.
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from recurso in db.Projeto_Funcionario
                                where recurso.prfu_proj_id == idProjeto
                                select recurso;

                    if (query.Count() > 0)
                    {
                        foreach (Projeto_Funcionario recursoProj in query.ToList())
                        {
                            db.Projeto_Funcionario.Remove(recursoProj);
                        }
                        db.SaveChanges();
                        return(true);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.EquipeExcecao("Ocorreu um problema ao remover a antiga equipe para este projeto!");
            }
            return(false);
        }
        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 <DropDownItem> LoadAtitudes()
        {
            List <DropDownItem> listaAtitude = new List <DropDownItem>();

            try
            {
                using (SAARHEntities db = new SAARHEntities()){
                    var query = from atitute in db.Competencias
                                join tipo in db.Tipo_Competencia on atitute.comp_tcom_id equals tipo.tcom_id
                                orderby atitute.comp_nome
                                where tipo.tcom_id == 3
                                select atitute;
                    foreach (Competencia comp in query.ToList())
                    {
                        DropDownItem item = new DropDownItem(comp.comp_id, comp.comp_nome);
                        listaAtitude.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Excecoes.AtitudeExcecao("Ocorreu um problema ao recuperar a lista de Atitudes");
            }

            return(listaAtitude);
        }
        public List <DropDownItem> LoadTipoCompetencia()
        {
            List <DropDownItem> listaTipoCompetencia = new List <DropDownItem>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from tipoCompetencia in db.Tipo_Competencia
                                select tipoCompetencia;

                    foreach (Tipo_Competencia tipo in query.ToList())
                    {
                        DropDownItem item = new DropDownItem(tipo.tcom_id, tipo.tcom_nome);
                        listaTipoCompetencia.Add(item);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.TipoCompetenciaExcecao("Ocorreu um problema ao recuperar a lista de tipos de competências! ");
            }

            return(listaTipoCompetencia);
        }
        public List <DropDownItem> LoadProjetosNaoAvaliadosGerente(int?idGerente)
        {
            List <DropDownItem> listaProjeto = new List <DropDownItem>();

            if (idGerente != null)
            {
                try
                {
                    using (SAARHEntities db = new SAARHEntities())
                    {
                        var query = from projeto in db.Projetoes
                                    orderby projeto.proj_nome
                                    where projeto.proj_usu_id == idGerente &&
                                    projeto.proj_avaliado == false &&
                                    projeto.proj_data_termino <= DateTime.Today
                                    select projeto;

                        foreach (Projeto proj in query.ToList())
                        {
                            DropDownItem item = new DropDownItem(proj.proj_id, proj.proj_nome);
                            listaProjeto.Add(item);
                        }
                    }
                }

                catch (Exception ex)
                {
                    throw new Excecoes.ProjetoExcecao("Ocorreu um problema ao recuperar a lista de Projetos");
                }
            }

            return(listaProjeto);
        }
        public List <DropDownItem> LoadFuncionarios()
        {
            List <DropDownItem> listaFuncionarios = new List <DropDownItem>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from user in db.Usuarios
                                orderby user.usu_nome, user.usu_sobrenome
                    where user.usu_tipo_id == 2
                    select user;


                    foreach (Usuario user in query.ToList())
                    {
                        DropDownItem item = new DropDownItem(user.usu_id, user.usu_nome + " " + user.usu_sobrenome);
                        listaFuncionarios.Add(item);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.UsuarioExcecao("Ocorreu um problema ao recuperar a lista de funcionários");
            }

            return(listaFuncionarios);
        }
        public bool AlterarProjeto(int idProjeto, int?idGerente, string nomeProjeto, string descProjeto, DateTime dataInicio,
                                   DateTime dataTermino, string prioridade, string status, List <int?> listaIdCompetencias)
        {
            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    // verifica se existe outro projeto com o mesmo nome para o mesmo gerente.
                    var queryVal = from projeto in db.Projetoes
                                   where projeto.proj_nome == nomeProjeto &&
                                   projeto.proj_id != idProjeto &&
                                   projeto.proj_usu_id == idGerente
                                   select projeto;

                    if (queryVal.Count() > 0)
                    {
                        return(false);
                    }
                    else
                    {
                        var querySelect = from projeto in db.Projetoes
                                          where projeto.proj_id == idProjeto
                                          select projeto;


                        Projeto projetoAlterar = querySelect.Single();
                        projetoAlterar.proj_nome         = nomeProjeto;
                        projetoAlterar.proj_descricao    = descProjeto;
                        projetoAlterar.proj_data_inicio  = dataInicio;
                        projetoAlterar.proj_data_termino = dataTermino;
                        projetoAlterar.proj_prioridade   = prioridade;
                        projetoAlterar.proj_status       = status;
                        //projetoAlterar.Competencias = new List<Competencia>();
                        projetoAlterar.Competencias.Clear();

                        foreach (int id in listaIdCompetencias)
                        {
                            var query = from comp in db.Competencias
                                        where comp.comp_id == id
                                        select comp;

                            Competencia competencia = query.Single();
                            projetoAlterar.Competencias.Add(competencia);
                        }

                        db.SaveChanges();
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.ProjetoExcecao("Ocorreu um problema ao salvar as informações do Projeto!");
            }
            return(true);
        }
示例#15
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);
        }
示例#16
0
        public bool AlterarCompetencias(int?idGerente, int?idFuncionario, List <CompetenciaNivelDTO> listaCompetenciasComNivel)
        {
            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    List <int> idsCompetencias = new List <int>();

                    foreach (CompetenciaNivelDTO comp in listaCompetenciasComNivel)
                    {
                        idsCompetencias.Add(comp.CompID);
                    }

                    int idFuncionarioQuery = Convert.ToInt32(idFuncionario);
                    var query = from uac in db.Usu_Aval_Comp
                                where idFuncionarioQuery == uac.uac_usu_id &&
                                idsCompetencias.Contains(uac.uac_comp_id)
                                select uac;

                    foreach (Usu_Aval_Comp uacomp in query.ToList())
                    {
                        uacomp.Avaliacao.aval_atual = false;
                        db.SaveChanges();
                    }

                    foreach (CompetenciaNivelDTO comp in listaCompetenciasComNivel)
                    {
                        Avaliacao novaAvaliacao = new Avaliacao();
                        novaAvaliacao.aval_nivel    = comp.CompNivel;
                        novaAvaliacao.aval_data     = DateTime.Now;
                        novaAvaliacao.aval_usu_id   = Convert.ToInt32(idGerente);
                        novaAvaliacao.aval_atual    = true;
                        novaAvaliacao.Usu_Aval_Comp = new List <Usu_Aval_Comp>();
                        int           idNovaAvaliacao = novaAvaliacao.aval_id;
                        Usu_Aval_Comp novoUAC         = new Usu_Aval_Comp();
                        novoUAC.uac_aval_id = idNovaAvaliacao;
                        novoUAC.uac_comp_id = comp.CompID;
                        novoUAC.uac_usu_id  = Convert.ToInt32(idFuncionario);
                        novaAvaliacao.Usu_Aval_Comp.Add(novoUAC);
                        db.Avaliacaos.Add(novaAvaliacao);
                        db.SaveChanges();
                    }
                }
                return(true);
            }
            catch (Exception)
            {
                throw new Excecoes.TipoCompetenciaExcecao("Ocorreu um problema ao atualizar as competências deste funcionário! ");
            }
        }
        public List <ConsultarRHGridDTO> LoadRecursosHumanos(List <int?> listacompetencias)
        {
            List <ConsultarRHGridDTO> listaRH = new List <ConsultarRHGridDTO>();

            List <int?> listaAux = new List <int?>(listacompetencias);

            for (int i = 0; i < 10; i++)
            {
                if (i > listaAux.Count - 1)
                {
                    listaAux.Add(null);
                }
            }

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = db.SP_GetRecursosHumanos(listaAux[0], listaAux[1], listaAux[2], listaAux[3], listaAux[4], listaAux[5],
                                                         listaAux[6], listaAux[7], listaAux[8], listaAux[9]);

                    foreach (SP_GetRecursosHumanos_Result item in query.ToList())
                    {
                        ConsultarRHGridDTO consultaRHGrid = new ConsultarRHGridDTO();
                        consultaRHGrid.IdUsuario = item.tmp_id;
                        consultaRHGrid.Nome      = item.tmp_nome;
                        consultaRHGrid.SobreNome = item.tmp_sobrenome;
                        consultaRHGrid.Nivel0    = item.tmp_comp_nivel0;
                        consultaRHGrid.Nivel1    = item.tmp_comp_nivel1;
                        consultaRHGrid.Nivel2    = item.tmp_comp_nivel2;
                        consultaRHGrid.Nivel3    = item.tmp_comp_nivel3;
                        consultaRHGrid.Nivel4    = item.tmp_comp_nivel4;
                        consultaRHGrid.Nivel5    = item.tmp_comp_nivel5;
                        consultaRHGrid.Nivel6    = item.tmp_comp_nivel6;
                        consultaRHGrid.Nivel7    = item.tmp_comp_nivel7;
                        consultaRHGrid.Nivel8    = item.tmp_comp_nivel8;
                        consultaRHGrid.Nivel9    = item.tmp_comp_nivel9;

                        listaRH.Add(consultaRHGrid);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Excecoes.UsuarioExcecao("Ocorreu um problema ao recuperar a lista de recursos humanos");
            }

            return(listaRH);
        }
        public UsuarioDTO GetUsuario(string nomeUsuario)
        {
            UsuarioDTO usuario = new UsuarioDTO();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from user in db.Usuarios
                                join tipo in db.Tipo_Usuario on user.usu_tipo_id equals tipo.tipo_id
                                where user.usu_nome_usuario == nomeUsuario
                                // aqui cria um objeto abstrato (não tipado), que contém colunas de duas tabelas.
                                select new
                    {
                        user.usu_id,
                        user.usu_nome,
                        user.usu_sobrenome,
                        user.usu_senha,
                        user.usu_salt,
                        user.usu_email,
                        user.usu_nome_usuario,
                        tipo.tipo_id,
                        tipo.tipo_nome,
                    };

                    if (query.Count() > 0 && query.Count() < 2)
                    {
                        // userEntity é a variável de retorno do objeto abstrato.
                        var userEntity = query.Single(); // sigle retorna o único valor da query.
                        usuario.UsuarioID          = userEntity.usu_id;
                        usuario.NomeUsuario        = userEntity.usu_nome;
                        usuario.SobrenomeUsuario   = userEntity.usu_sobrenome;
                        usuario.Senha              = userEntity.usu_senha;
                        usuario.Salt               = userEntity.usu_salt;
                        usuario.Email              = userEntity.usu_email;
                        usuario.NomeSistemaUsuario = userEntity.usu_nome_usuario;
                        usuario.TipoUsuario        = userEntity.tipo_id;
                        usuario.TipoUsuarioDesc    = userEntity.tipo_nome;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Excecoes.UsuarioExcecao("Ocorreu um problema ao recuperar as informações do usuário!");
            }

            return(usuario);
        }
示例#19
0
        public bool SalvarPerfil(int idFuncionario, List <CompetenciaNivelDTO> listaNovasCompetencias)
        {
            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    foreach (CompetenciaNivelDTO comp in listaNovasCompetencias)
                    {
                        // verifica se não existe alguma avaliação para esta competência, para este funcionario.
                        var query = from uac in db.Usu_Aval_Comp
                                    where uac.uac_usu_id == idFuncionario &&
                                    uac.uac_comp_id == comp.CompID
                                    select uac;

                        if (query.Count() > 0)
                        {
                            return(false);
                        }
                        else
                        {
                            Avaliacao novaAval = new Avaliacao();
                            novaAval.aval_usu_id = idFuncionario;
                            novaAval.aval_nivel  = comp.CompNivel;
                            novaAval.aval_data   = DateTime.Now;
                            novaAval.aval_atual  = true;

                            db.Avaliacaos.Add(novaAval);
                            db.SaveChanges();

                            int idNewAval = novaAval.aval_id;

                            Usu_Aval_Comp novaUac = new Usu_Aval_Comp();
                            novaUac.uac_aval_id = idNewAval;
                            novaUac.uac_usu_id  = idFuncionario;
                            novaUac.uac_comp_id = comp.CompID;

                            db.Usu_Aval_Comp.Add(novaUac);
                            db.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.AvaliacaoExcecao("Ocorreu um problema ao salvar o perfil!");
            }
            return(true);
        }
示例#20
0
        public int BuscarMembrosEquipe(int idProjeto)
        {
            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from equipe in db.Projeto_Funcionario
                                where equipe.prfu_proj_id == idProjeto
                                select equipe;

                    return(query.Count());
                }
            }
            catch (Exception)
            {
                throw new Excecoes.EquipeExcecao("Ocorreu um problema ao verificar a existência de uma equipe para este projeto!");
            }
        }
        public List <ProjetoUsuarioDTO> LoadRHProjeto(int idProjeto)
        {
            List <ProjetoUsuarioDTO> listaRecuros = new List <ProjetoUsuarioDTO>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from recursoProj in db.Projeto_Funcionario
                                join usuario in db.Usuarios on recursoProj.prfu_usu_id equals usuario.usu_id
                                where recursoProj.prfu_proj_id == idProjeto
                                select new
                    {
                        recursoProj.prfu_id,
                        recursoProj.prfu_data_inicio,
                        recursoProj.prfu_data_termino,
                        usuario.usu_id,
                        usuario.usu_nome,
                        usuario.usu_sobrenome,
                        usuario.usu_email,
                    };

                    foreach (var item in query.ToList())
                    {
                        ProjetoUsuarioDTO projUsuarioDTO = new ProjetoUsuarioDTO();
                        projUsuarioDTO.ID            = item.prfu_id;
                        projUsuarioDTO.IDFuncionario = item.usu_id;
                        projUsuarioDTO.Nome          = item.usu_nome;
                        projUsuarioDTO.Sobrenome     = item.usu_sobrenome;
                        projUsuarioDTO.DataInicio    = item.prfu_data_inicio;
                        projUsuarioDTO.DataTermino   = item.prfu_data_termino;
                        projUsuarioDTO.Email         = item.usu_email;
                        listaRecuros.Add(projUsuarioDTO);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Excecoes.ProjetoExcecao("Ocorreu um problema ao recuperar a lista de recursos!");
            }

            return(listaRecuros);
        }
        public List <Projeto> LoadProjetos(string nome, int?idGerente, string status, string prioridade,
                                           DateTime?dataInicio, DateTime?dataTermino)
        {
            List <Projeto> listaProjetos = new List <Projeto>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    // exemplo de query com parâmetros opcionais utilizando a sintaxe LINQ.
                    var query = from projetos in db.Projetoes
                                orderby projetos.proj_nome
                                where (String.IsNullOrEmpty(nome) || projetos.proj_nome == nome) &&
                                (!idGerente.HasValue || projetos.proj_usu_id == idGerente) &&
                                (String.IsNullOrEmpty(status) || projetos.proj_status == status) &&
                                (String.IsNullOrEmpty(prioridade) || projetos.proj_prioridade == prioridade) &&
                                (!dataInicio.HasValue || projetos.proj_data_inicio >= dataInicio) &&
                                (!dataTermino.HasValue || projetos.proj_data_termino <= dataTermino)
                                select projetos;

                    foreach (Projeto proj in query.ToList())
                    {
                        Projeto item = new Projeto();
                        item.proj_id           = proj.proj_id;
                        item.proj_nome         = proj.proj_nome;
                        item.proj_status       = proj.proj_status;
                        item.proj_prioridade   = proj.proj_prioridade;
                        item.proj_data_inicio  = proj.proj_data_inicio;
                        item.proj_data_termino = proj.proj_data_termino;
                        item.proj_usu_id       = proj.proj_usu_id;

                        listaProjetos.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Excecoes.ProjetoExcecao("Ocorreu um problema ao recuperar a lista de projetos!");
            }

            return(listaProjetos);
        }
示例#23
0
        public bool SalvarEquipe(int idProjeto, UsuarioDTO gerenteProj, List <UsuarioDTO> listaUsuarios)
        {
            try
            {
                if (listaUsuarios.Count > 0 && idProjeto != null)
                {
                    using (SAARHEntities db = new SAARHEntities())
                    {
                        // Insere cada usuário na tabela Projeto_Funcionário.
                        foreach (UsuarioDTO usuario in listaUsuarios)
                        {
                            Projeto_Funcionario recurso = new Projeto_Funcionario();
                            recurso.prfu_proj_id      = idProjeto;
                            recurso.prfu_usu_id       = Convert.ToInt32(usuario.UsuarioID);
                            recurso.prfu_data_inicio  = usuario.DataInicio;
                            recurso.prfu_data_termino = usuario.DataTermino;

                            db.Projeto_Funcionario.Add(recurso);
                            //db.SaveChanges();
                        }

                        // Adiciona o gerente do projeto a equipe
                        Projeto_Funcionario gerente = new Projeto_Funcionario();
                        gerente.prfu_proj_id      = idProjeto;
                        gerente.prfu_usu_id       = Convert.ToInt32(gerenteProj.UsuarioID);
                        gerente.prfu_data_inicio  = gerenteProj.DataInicio;
                        gerente.prfu_data_termino = gerenteProj.DataTermino;

                        db.Projeto_Funcionario.Add(gerente);
                        db.SaveChanges();

                        return(true);
                    }
                }
            }
            catch (Exception)
            {
                throw new Excecoes.EquipeExcecao("Ocorreu um problema ao salvar a equipe para este projeto!");
            }
            return(false);
        }
示例#24
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);
        }
        public bool CadastrarUsuario(string usuNome, string nome, string sobrenome, int tipo, string email, string senha, string salt)
        {
            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    // Verifica se não existe já outro usuario com o mesmo Username.
                    var queryVal = from user in db.Usuarios
                                   where user.usu_nome_usuario == usuNome
                                   select user;

                    if (queryVal.Count() > 0)
                    {
                        return(false);
                    }
                    else
                    {
                        // UserName não existe ainda no BD e pode ser criado um novo usuário.
                        Usuario novoUsuario = new Usuario();
                        novoUsuario.usu_nome_usuario = usuNome;
                        novoUsuario.usu_nome         = nome;
                        novoUsuario.usu_sobrenome    = sobrenome;
                        novoUsuario.usu_tipo_id      = tipo;
                        novoUsuario.usu_email        = email;
                        novoUsuario.usu_senha        = senha;
                        novoUsuario.usu_salt         = salt;

                        db.Usuarios.Add(novoUsuario);
                        db.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Excecoes.UsuarioExcecao("Ocorreu um problema ao salvar as informações deste usuário! ");
            }

            return(true);
        }
        public Projeto CarregarProjeto(int idProjeto)
        {
            Projeto projeto;

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

                    projeto = query.Single();
                    projeto.Competencias = query.Single().Competencias;
                }
            }
            catch (Exception)
            {
                throw new Excecoes.ProjetoExcecao("Ocorreu um problema ao recuperar as informações do Projeto!");
            }

            return(projeto);
        }
示例#27
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);
        }