public HttpResponseMessage AtribuiPontos(AtribuicaoPontosUsuarioViewModel atribuicao)
        {
            var foiAtribuido = EventoServices.ProcessaAtribuicaoDePontos(atribuicao);

            if (foiAtribuido)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new DescriptionMessage(HttpStatusCode.OK, "points granted", $"You granted points to user '{atribuicao.Usuario}' for the event #{atribuicao.Evento}")));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new DescriptionMessage(HttpStatusCode.OK, "Denied", $"You denied points to user '{atribuicao.Usuario}' for the event #{atribuicao.Evento}")));
            }
        }
        public HttpResponseMessage ApproveScheduling(AprovaAgendamentoViewModel agendamento)
        {
            var foiAprovado = EventoServices.AprovaAgendamento(agendamento);

            if (foiAprovado)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new DescriptionMessage(HttpStatusCode.OK, "Scheduling Approved", $"You accepted the event #{agendamento.Evento}")));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new DescriptionMessage(HttpStatusCode.OK, "Scheduling Denied", $"You denied the event #{agendamento.Evento}")));
            }
        }
예제 #3
0
        public EventoModel GetEventoById(String _idEvento)
        {
            var _evento = new EventoServices().GetEventoById(_idEvento);

            if (_evento.DtFinalEvento == DateTime.Now.Date)
            {
                _evento.Status = false;
            }
            else if (_evento.DtFinalEvento > DateTime.Now.Date)
            {
                _evento.Status = false;
            }
            else if (_evento.DtFinalEvento < DateTime.Now.Date)
            {
                _evento.Status = true;
            }

            return(_evento);
        }
예제 #4
0
        private DashboardRH RecuperaDashboardDoRH(UsuarioViewModel usuario)
        {
            var ranking = UsuarioServices.RecuperaTodos().OrderByDescending(x => x.pontos).Take(10).ToList();

            var certicacoesMaisProcuradas = CertificacoesProcuradas();

            // ultimas atividades
            var atividades = EventoServices.RecuperaEventos("atividade", 10);

            // pendencias destinadas ao usuario usuario RH
            var pendencias = UsuarioServices.RecuperaPendencias(usuario);

            // proximas promocoes
            var proximasPromocoes = PromocaoServices.RecuperaProximasPromocoes();

            return(new DashboardRH()
            {
                Atividades = atividades,
                CertificacoesMaisProcuradas = certicacoesMaisProcuradas,
                ProximasPromocoes = proximasPromocoes,
                Ranking = ranking,
                Pendencias = pendencias
            });
        }
예제 #5
0
        // TODO: REFATORAR ESSE MÉTODO
        private List <dynamic> CertificacoesProcuradas()
        {
            List <dynamic> colunas = new List <dynamic>();
            List <dynamic> linha   = new List <dynamic>();
            List <dynamic> tabela  = new List <dynamic>();

            var opGrafico = new Dictionary <string, string>();

            opGrafico.Add("role", "annotation");

            //Consulta para encontrar itens que são certificados em eventos
            int indiceCategoria = CategoriaServices.RecuperaTodas()
                                  .Where(
                categoria =>
                string.Compare(categoria.nome, "curso", CultureInfo.CurrentCulture,
                               CompareOptions.IgnoreNonSpace |
                               CompareOptions.IgnoreCase) == 0
                )
                                  .Select(y => y.id)
                                  .FirstOrDefault();

            var certificados = EventoServices.RecuperaTodasAtividades("atividade").Where(
                evento => evento.Item.Categoria.id == indiceCategoria);


            //Obtém categorias e cria as colunas
            List <string> nomesCertificados = certificados.Select(x => x.Item.nome).Distinct().ToList();


            colunas.Add("Certificações");

            foreach (var certificado in nomesCertificados)
            {
                colunas.Add(certificado);
            }

            colunas.Add(opGrafico);

            tabela.Add(colunas);

            //Verifica para cada certificação quantas vezes ao longo de um ano ela foi procurada

            var anos = certificados.Select(certificado => certificado.data.Value.Year).Distinct().ToList();

            foreach (var ano in anos)
            {
                linha.Add(ano.ToString());

                foreach (var certificado in nomesCertificados)
                {
                    var quantidadesCertificacoes = certificados.Where(x => x.Item.nome == certificado && x.data.Value.Year == ano).GroupBy(x => x.Item.nome).Count();
                    linha.Add(quantidadesCertificacoes);
                }
                linha.Add("");
                tabela.Add(linha);
                linha = new List <dynamic>();
            }


            return(tabela);
        }
 public HttpResponseMessage Create(AgendamentoViewModel agendamento)
 {
     EventoServices.CriaAgendamento(agendamento);
     return(Request.CreateResponse(HttpStatusCode.Created, new DescriptionMessage(HttpStatusCode.Created, "Scheduling Done", "A new scheduling was created")));
 }