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)); }
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)); }