Example #1
0
        public VagaDetalhe PegarVagaDetalhada(Guid vagaId)
        {
            VagaDetalhe vaga = Repository.GetVagaDetalhe(vagaId);

            foreach (var candidato in vaga.Candidatos)
            {
                candidato.Pontuacao = CalculaPontuacaoCandidato(vaga.Criterios, candidato.ParValorCriterio);
            }

            vaga.Candidatos           = vaga.Candidatos.OrderBy(item => item.Pontuacao).Reverse().ToList();
            vaga.PerfilMinimoDesejado = CalculaPerfilMinimoDesejado(vaga.Criterios);

            return(vaga);
        }
Example #2
0
        public VagaDetalhe GetVagaDetalhe(Guid vagaId)
        {
            string[] propNavLista = new string[] { };             // { "Respostas.Candidato.Usuario", "Respostas.RespostaCriterios" };

            var query = this.Query.Where(vaga => vaga.Id == vagaId);

            if (propNavLista != null && propNavLista.Any())
            {
                query = this.AddIncludes(query, propNavLista);
            }


            VagaDetalhe result = query
                                 .Select(vaga => new VagaDetalhe()
            {
                DataExpiracao   = vaga.DataExpiracao,
                Finalizada      = vaga.Finalizada,
                EmpresaId       = vaga.EmpresaId,
                TotalCandidatos = vaga.Respostas.Count,
                Criterios       = vaga.Criterios,
                Candidatos      = vaga.Respostas.Select(resp => new CandidatoRanqueado()
                {
                    CandidatoId      = resp.CandidatoId,
                    Email            = resp.Candidato.Usuario.Email,
                    Nome             = resp.Candidato.Usuario.Nome,
                    Telefone         = "(--) ----- ----",
                    Pontuacao        = decimal.Zero,
                    ParValorCriterio = resp.RespostaCriterios.Select(rc => new ParValorCriterio()
                    {
                        IdCriterio   = rc.CriterioId,
                        ValorReposta = rc.Valor
                    }).ToList()
                }).ToList()
            }).FirstOrDefault();

            //result.
            return(result);
        }