private void RenderByPage(HtmlTextWriter output) { int totalPages = 0; foreach(FamiliaCompetencias fam in modelo.Familias.Values) { totalPages += fam.Competencias.Count; } //a percentagem concluída é: double percent = (((float)currPage) / totalPages) * 100.0; // render the page horizBar bar = new horizBar(); bar.Valor = (float)percent; bar.Text = percent.ToString("#") + "%"; bar.Comprimento = Comprimento; bar.imgUrlDone = imgUrlDone; bar.imgUrlTodo = imgUrlTodo; bar.RenderControl(output); }
protected override void RenderContents(HtmlTextWriter output) { if (ContagemPaginas == 1) RenderByPage(output); else { int perguntasFeitas; int NumPerg = 0; if (modelo == null) output.Write("Object out of Context!"); String[] temp; String[] parValor; ModeloCompetencias mod; perguntasFeitas = 0; bool count = false; if (NumPerguntas <= 0) { NumPerguntas = 0; count = true; } foreach (Ticket t in ticketList) { if (count) { if (HttpContext.Current.Session["FO_Model"] != null) mod = HttpContext.Current.Session["FO_Model"] as ModeloCompetencias; else { mod = ModeloCompetencias.getDBModelo(t.Projecto.owner, t.ModeloID); } if (!mod.FullLoad) mod.loadFull(t.Projecto.owner, t); NumPerg = mod.getNumPaginas("Pergunta"); if (t.AA) { if (mod.ModelType.ToUpper().Trim() != "360_FLAT") { foreach (FamiliaCompetencias fam in mod.Familias.Values) { foreach(Competencia comp in fam.Competencias.Values) if(comp.Criticalidade) NumPerg --; } } // retirar a criticalidade } NumPerguntas += NumPerg; } temp = t.Resposta.Split(';'); foreach (String s in temp) { parValor = s.Split('='); if (parValor[0].StartsWith("P") || parValor[0].StartsWith("C") || parValor[0].StartsWith("T")) if (parValor[1] != "-1") perguntasFeitas++; } } //a percentagem concluída é: double percent = (((float)perguntasFeitas) / NumPerguntas) * 100.0; if (percent > 100) percent = 100; // render the page horizBar bar = new horizBar(); bar.Valor = (float)percent; bar.Text = percent.ToString("#") + "%"; bar.Comprimento = Comprimento; bar.imgUrlDone = imgUrlDone; bar.imgUrlTodo = imgUrlTodo; bar.RenderControl(output); } }