예제 #1
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! ");
            }
        }
예제 #2
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);
        }
        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);
        }
        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);
        }
예제 #5
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);
        }
예제 #6
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 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);
        }
예제 #8
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);
        }
        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);
        }