public async Task <string> PorcentagemConclusao(string idUsuario = null)
        {
            UsuarioADE usuario = idUsuario == null ? await ObterUsuarioLogado() : await ObterUsuarioPorEmailOuId(idUsuario);

            int DocumentosCursoUsuario = await _servicoDocumento.ContarPorCurso(usuario.IdCurso);

            int DownloadsDistintos = await ObterProgressoDownloads(usuario);

            float CargaHorariaCurso = await _servicoRegistroDeHoras.ObterTotalCargaHorariaCursoUsuario(usuario);

            float ContabilizacaoHoras = await _servicoRegistroDeHoras.ObterContabilizacaoHorasUsuario(usuario);

            float ProgressoUsuario = DownloadsDistintos + ContabilizacaoHoras / 60;
            float Total            = DocumentosCursoUsuario + CargaHorariaCurso;

            PorcentagemConclusaoChart PCC = new PorcentagemConclusaoChart(ProgressoUsuario, Total);

            return(Newtonsoft.Json.JsonConvert.SerializeObject(PCC));
        }
Ejemplo n.º 2
0
        public async Task <IViewComponentResult> InvokeAsync(UsuarioADE usuario = null)
        {
            ContabilizacaoHorasVM model;

            try
            {
                usuario = usuario ?? await ServicoUsuario.ObterUsuarioLogado(UserClaimsPrincipal);

                int total = await ServicoRegistroDeHoras.ObterTotalCargaHorariaCursoUsuario(usuario);

                float progress = await ServicoRegistroDeHoras.ObterContabilizacaoHorasUsuario(usuario);

                model = new ContabilizacaoHorasVM(total, progress / 60);
            }
            catch (System.Exception)
            {
                model = new ContabilizacaoHorasVM(0, 0);
            }
            return(View(model));
        }