Example #1
0
        private EstatisticaDto ObterProgressoUsuario(List <ResumoQuantitativoHelper> resumosUsuarios,
                                                     UsuarioInfoDTO usuarioInfo, string nomeProjeto)
        {
            var resumosUsuariosAtivos = resumosUsuarios.Where(
                x => Configuracao.Xml.LoginsAtivos(nomeProjeto).Contains(x.Login)).ToList();

            var resumo = resumosUsuariosAtivos.FirstOrDefault(x => x.IdUsuario == usuarioInfo.Id);

            if (resumo == null)
            {
                throw new Exception("Estatística não encontrada");
            }

            EstatisticaDto e = new EstatisticaDto();

            e.Nome   = usuarioInfo.Nome;
            e.Login  = usuarioInfo.Login;
            e.Imagem = usuarioInfo.Imagem;

            e.QuantidadeAtividadesTotal     = resumosUsuarios.Sum(x => x.QuantidadeTarefasConcluidas + x.QuantidadeProblemasConcluidos);
            e.QuantidadeAtividadesJogador   = resumo.QuantidadeTarefasConcluidas + resumo.QuantidadeProblemasConcluidos;
            e.QuantidadeAtividadesPerdidas  = resumo.QuantidadeAtividadesFeitasQueOutroConcluiu;
            e.QuantidadeAtividadesReabertas = resumo.QuantidadeAtividadesConcluidasReabertas;

            e.PorcentagemAtividadesJogador   = CalcularPorcentagem(e.QuantidadeAtividadesJogador, e.QuantidadeAtividadesTotal);
            e.PorcentagemAtividadesPerdidas  = CalcularPorcentagem(e.QuantidadeAtividadesPerdidas, e.QuantidadeAtividadesJogador);
            e.PorcentagemAtividadesReabertas = CalcularPorcentagem(e.QuantidadeAtividadesReabertas, e.QuantidadeAtividadesJogador);

            return(e);
        }
        private EstatisticaModel ParseToEstatisticaModel(EstatisticaDto dto)
        {
            EstatisticaModel model = new EstatisticaModel();

            model.Nome  = dto.Nome;
            model.Login = dto.Login;

            model.ImagemByte = dto.Imagem;

            model.MediaAtividadesSemana = dto.MediaAtividadesSemana;

            model.QuantidadeAtividadesTotal     = dto.QuantidadeAtividadesTotal;
            model.QuantidadeAtividadesJogador   = dto.QuantidadeAtividadesJogador;
            model.QuantidadeAtividadesReabertas = dto.QuantidadeAtividadesReabertas;
            model.QuantidadeAtividadesPerdidas  = dto.QuantidadeAtividadesPerdidas;

            model.PorcentagemAtividadesJogador   = dto.PorcentagemAtividadesJogador;
            model.PorcentagemAtividadesReabertas = dto.PorcentagemAtividadesReabertas;
            model.PorcentagemAtividadesPerdidas  = dto.PorcentagemAtividadesPerdidas;

            return(model);
        }