public List<ReportRow> getComentariosProprio() { SqlConnection conn = new SqlConnection(DBHelper.ConnectionString); SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandType = CommandType.Text; command.CommandText = "select * from Rep_v2_getComentariosProprio(" + _avaliado.PessoaID.ToString() + "," + _Projecto.ProjectoID.ToString() + "," + _proprio.PessoaID.ToString() + ") order by famindex, compindex"; SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); List<ReportRow> result = new List<ReportRow>(); String currCompetencia = ""; ReportRow rrw = new ReportRow(2); foreach (DataRow dr in ds.Tables[0].Rows) { if (currCompetencia != Convert.ToString(dr["publicName"])) { rrw = new ReportRow(2); rrw.dados[0] = "BREAK"; result.Add(rrw); currCompetencia = Convert.ToString(dr["publicName"]); rrw = new ReportRow(2); rrw.dados[0] = currCompetencia; result.Add(rrw); } rrw = new ReportRow(2); rrw.dados[0] = ""; rrw.dados[1] = Convert.ToString(dr["valor"]); result.Add(rrw); } return result; }
public List<ReportRow> getGAP(String Grupo) { SortedList<float, MediasCompetencia> listaOrdenada = new SortedList<float, MediasCompetencia>(); float soma = 0; float dummy; foreach (MediasCompetencia media in mediasCompetencias) { dummy = 0.0000000000F; if (listaOrdenada.Keys.Contains(media.diffItem[Grupo])) while (listaOrdenada.Keys.Contains(media.diffItem[Grupo] + dummy)) dummy += 0.000001F; listaOrdenada.Add(media.diffItem[Grupo] + dummy, media); soma += media.diffItem[Grupo]; } if (soma == 0) // não tem Todos // NÃO PODE ACONTECER return null; List<ReportRow> result = new List<ReportRow>(); ReportRow row; float tempValue; for (int i = listaOrdenada.Count - 1; i >= 0; i--) { row = new ReportRow(4); row.dados[0] = competenciasLongo[listaOrdenada.Values[i].compID]; tempValue = listaOrdenada.Values[i].mItem[ReportGroupCodes[0]]; row.dados[1] = tempValue.ToString("0.00"); tempValue = listaOrdenada.Values[i].mItem[Grupo]; row.dados[2] = tempValue.ToString("0.00"); tempValue = listaOrdenada.Values[i].diffItem[Grupo]; if (tempValue > 0.5) row.dados[3] = "F0F1"; else if (tempValue < -0.5) row.dados[3] = "F0F2"; else row.dados[3] = "F0F3"; listaOrdenada.Values[i].setaT = row.dados[3]; result.Add(row); } return result; }
public List<ReportRow> getAvaliacaoDerailersExtendedOne2One(int competenciaID) { SqlConnection conn = new SqlConnection(DBHelper.ConnectionString); SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandType = CommandType.StoredProcedure; command.CommandText = "Rep_v2_MediaGrupoNotadorDerailerOne2One"; command.Parameters.AddWithValue("avaliadoID", _avaliado.PessoaID); command.Parameters.AddWithValue("competenciaID", competenciaID); command.Parameters.AddWithValue("projectoID", _Projecto.ProjectoID); command.Parameters.AddWithValue("proprioID", _proprio.PessoaID); SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); List<ReportRow> result = new List<ReportRow>(); ReportRow rrw = new ReportRow(11); rrw.dados[0] = "Comp Crit"; rrw.dados[1] = "S"; rrw.dados[2] = "B"; rrw.dados[3] = "P"; rrw.dados[4] = "C"; rrw.dados[5] = "O"; rrw.dados[6] = "mS"; rrw.dados[7] = "mB"; rrw.dados[8] = "mP"; rrw.dados[9] = "mC"; rrw.dados[10] = "mO"; result.Add(rrw); float val; String pergunta; int id; foreach (DataRow dr in ds.Tables[0].Rows) { id = Convert.ToInt32(dr["id"]); pergunta = perguntas[id]; rrw = new ReportRow(11); //rrw.dados[0] = Convert.IsDBNull(dr["Name"]) ? "" : Convert.ToString(dr["Name"]); rrw.dados[0] = pergunta; val = Convert.IsDBNull(dr["S"]) ? -1 : (float)Convert.ToDouble(dr["S"]) == 0 ? -1 : (float)Convert.ToDouble(dr["S"]); rrw.dados[1] = val < 0 ? "*" : val >= 5.0 ? "+" : val < 4 ? "-" : "0"; rrw.dados[6] = val.ToString("0.00"); if (!Convert.IsDBNull(dr["B"])) { val = Convert.IsDBNull(dr["B"]) ? -1 : (float)Convert.ToDouble(dr["B"]) == 0 ? -1 : (float)Convert.ToDouble(dr["B"]); rrw.dados[2] = val < 0 ? "*" : val >= 5.0 ? "+" : val < 4 ? "-" : "0"; rrw.dados[7] = val.ToString("0.00"); } else if (!Convert.IsDBNull(dr["P"])) { val = Convert.IsDBNull(dr["P"]) ? -1 : (float)Convert.ToDouble(dr["P"]) == 0 ? -1 : (float)Convert.ToDouble(dr["P"]); rrw.dados[2] = val < 0 ? "*" : val >= 5.0 ? "+" : val < 4 ? "-" : "0"; rrw.dados[7] = val.ToString("0.00"); } else if (!Convert.IsDBNull(dr["C"])) { val = Convert.IsDBNull(dr["C"]) ? -1 : (float)Convert.ToDouble(dr["C"]) == 0 ? -1 : (float)Convert.ToDouble(dr["C"]); rrw.dados[2] = val < 0 ? "*" : val >= 5.0 ? "+" : val < 4 ? "-" : "0"; rrw.dados[7] = val.ToString("0.00"); } else if (!Convert.IsDBNull(dr["O"])) { val = Convert.IsDBNull(dr["O"]) ? -1 : (float)Convert.ToDouble(dr["O"]) == 0 ? -1 : (float)Convert.ToDouble(dr["O"]); rrw.dados[2] = val < 0 ? "*" : val >= 5.0 ? "+" : val < 4 ? "-" : "0"; rrw.dados[7] = val.ToString("0.00"); } rrw.dados[10] = val.ToString("0.00"); result.Add(rrw); } return result; }
public List<ReportRow> DB_getDADOS_GRAFICO(int competenciaID) { // procura a competência MediasCompetencia currMedia = null; List<ReportRow> result = new List<ReportRow>(); ReportRow row; float tempValue; currMedia = getMediasCompetencia(competenciaID); foreach (MediasCompetencia media in mediasCompetencias) { if (media.compID == competenciaID) { currMedia = media; break; } } if (currMedia == null) return null; if (numOutros >= 3) { row = new ReportRow(2); row.dados[0] = "Outros"; tempValue = currMedia.mO; row.dados[1] = tempValue.ToString("0.00"); result.Add(row); } else { row = new ReportRow(2); row.dados[0] = "Outros (Ocultado)"; tempValue = 0; row.dados[1] = tempValue.ToString("0.00"); result.Add(row); } row = new ReportRow(2); row.dados[0] = "Pares"; tempValue = currMedia.mP; row.dados[1] = tempValue.ToString("0.00"); result.Add(row); row = new ReportRow(2); row.dados[0] = "Colab. Directos"; tempValue = currMedia.mC; row.dados[1] = tempValue.ToString("0.00"); result.Add(row); row = new ReportRow(2); row.dados[0] = "Chefia"; tempValue = currMedia.mB; row.dados[1] = tempValue.ToString("0.00"); result.Add(row); row = new ReportRow(2); row.dados[0] = "Todos"; tempValue = currMedia.mT; row.dados[1] = tempValue.ToString("0.00"); result.Add(row); row = new ReportRow(2); row.dados[0] = "Próprio"; tempValue = currMedia.mS; row.dados[1] = tempValue.ToString("0.00"); result.Add(row); return result; }
//passado para o calculation standard public List<ReportRow> getAvaliacaoComportamentosCriticos(int competenciaID) { SqlConnection conn = new SqlConnection(DBHelper.ConnectionString); SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandType = CommandType.StoredProcedure; command.CommandText = "Rep_v2_MediaGrupoNotadorComportamento"; command.Parameters.AddWithValue("avaliadoID", _pessoaID); command.Parameters.AddWithValue("competenciaID", competenciaID); command.Parameters.AddWithValue("projectoID", _Projecto.ProjectoID); String OsGrupos = ""; foreach (String s in this._Projecto.GroupsCodes) { OsGrupos += s + ","; } OsGrupos = OsGrupos.Substring(0, OsGrupos.Length - 1); command.Parameters.AddWithValue("Grupos", OsGrupos); command.Parameters.AddWithValue("Self", this._Projecto.GroupsCodes[0]); SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); List<ReportRow> result = new List<ReportRow>(); ReportRow rrw = new ReportRow(this._Projecto.GroupsCodes.Length + 1); rrw.dados[0] = "Comp Crit"; int i = 1; foreach (String s in this._Projecto.GroupsCodes) { rrw.dados[i++] = s; } result.Add(rrw); float val; String pergunta; int id; foreach (DataRow dr in ds.Tables[0].Rows) { id = Convert.ToInt32(dr["id"]); pergunta = perguntas[id]; rrw = new ReportRow(this._Projecto.GroupsCodes.Length + 1); //rrw.dados[0] = Convert.IsDBNull(dr["Name"]) ? "" : Convert.ToString(dr["Name"]); rrw.dados[0] = pergunta; i = 1; foreach (String s in this._Projecto.GroupsCodes) { val = Convert.IsDBNull(dr[s]) ? -1 : (float)Convert.ToDouble(dr[s]) == 0 ? -1 : (float)Convert.ToDouble(dr[s]); rrw.dados[i++] = val < 0 ? "*" : val >= 5.0F ? "+" : val <= 3.0F ? "-" : "0"; } result.Add(rrw); } return result; }
public List<ReportRow> getAvaliacaoComportamentosCriticos_FracosFortes(int competenciaID) { SqlConnection conn = new SqlConnection(DBHelper.ConnectionString); SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandType = CommandType.StoredProcedure; command.CommandText = "Rep_v2_Res_PercenContValCompCriticos"; command.Parameters.AddWithValue("avaliadoID", _pessoaID); command.Parameters.AddWithValue("competenciaID", competenciaID); command.Parameters.AddWithValue("projectoID", _Projecto.ProjectoID); SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); List<ReportRow> result = new List<ReportRow>(); ReportRow rrw; String pergunta; float p0, p1, p2, p3, p4, p5, p6, fracos, fortes; int id; foreach (DataRow dr in ds.Tables[0].Rows) { rrw = new ReportRow(4); id = Convert.ToInt32(dr["perguntaID"]); pergunta = perguntas[id]; rrw.dados[0] = pergunta; p0 = Convert.IsDBNull(dr["p0"]) ? -1 : (float)Convert.ToDouble(dr["p0"]); p1 = Convert.IsDBNull(dr["p1"]) ? -1 : (float)Convert.ToDouble(dr["p1"]); p2 = Convert.IsDBNull(dr["p2"]) ? -1 : (float)Convert.ToDouble(dr["p2"]); p3 = Convert.IsDBNull(dr["p3"]) ? -1 : (float)Convert.ToDouble(dr["p3"]); p4 = Convert.IsDBNull(dr["p4"]) ? -1 : (float)Convert.ToDouble(dr["p4"]); p5 = Convert.IsDBNull(dr["p5"]) ? -1 : (float)Convert.ToDouble(dr["p5"]); p6 = Convert.IsDBNull(dr["p6"]) ? -1 : (float)Convert.ToDouble(dr["p6"]); rrw.dados[1] = ""; rrw.dados[2] = ""; rrw.dados[3] = ""; fracos = p1 + p2 + p3; fortes = p5 + p6; if (fracos <= 0.3 && fracos > 0.06) rrw.dados[1] = "A"; if (fracos > 0.3 && fracos <= 0.6) rrw.dados[1] = "B"; if (fracos > 0.6) rrw.dados[1] = "C"; if (fortes >= 0.70) { rrw.dados[2] = "D"; } rrw.dados[3] = (p0 * 100).ToString("0.00"); result.Add(rrw); } return result; }
internal List<ReportRow> getPerguntasAbertas() { _proprio = Pessoa.getPessoa(_pessoaID, "JC"); SqlConnection conn = new SqlConnection(DBHelper.ConnectionString); SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandType = CommandType.Text; command.CommandText = "select * from Rep_v2_getPerguntasAbertas(" + _pessoaID.ToString() + "," + _Projecto.ProjectoID.ToString() + ")"; // TODO - Falta fazer este SP SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); List<ReportRow> result = new List<ReportRow>(); String currCompetencia = ""; ReportRow rrw = new ReportRow(2); foreach (DataRow dr in ds.Tables[0].Rows) { if (currCompetencia != Convert.ToString(dr["TextoPergunta"])) { rrw = new ReportRow(2); rrw.dados[0] = "BREAK"; result.Add(rrw); currCompetencia = Convert.ToString(dr["TextoPergunta"]); rrw = new ReportRow(2); rrw.dados[0] = DBHelper.ParseTextProprio(currCompetencia, _proprio, false); result.Add(rrw); } rrw = new ReportRow(2); rrw.dados[0] = ""; rrw.dados[1] = Convert.ToString(dr["valor"]); result.Add(rrw); } return result; }
public List<ReportRow> DB_getGAP_GRAFICO_TODOS() { // ordenar a lista por ordem de GAP SortedList<float, MediasCompetencia> listaOrdenada = new SortedList<float, MediasCompetencia>(); float soma = 0; float dummy; foreach (MediasCompetencia media in mediasCompetencias) { dummy = 0.0000000000F; if (listaOrdenada.Keys.Contains(media.diffT)) while (listaOrdenada.Keys.Contains(media.diffT + dummy)) dummy += 0.0000000001F; listaOrdenada.Add(media.diffT + dummy, media); soma += media.mT; } if (soma == 0) // não tem Todos // NÃO PODE ACONTECER return null; List<ReportRow> result = new List<ReportRow>(); ReportRow row; float tempValue; for (int i = listaOrdenada.Count - 1; i >= 0; i--) { row = new ReportRow(4); row.dados[0] = competenciasLongo[listaOrdenada.Values[i].compID]; tempValue = listaOrdenada.Values[i].mS; row.dados[1] = tempValue.ToString("0.00"); tempValue = listaOrdenada.Values[i].mT; row.dados[2] = tempValue.ToString("0.00"); tempValue = listaOrdenada.Values[i].diffT; row.dados[3] = tempValue.ToString("0.00"); result.Add(row); } return result; }
public List<ReportRow> getRankingGAP(String one, String two) { SortedList<float, MediasCompetencia> listaOrdenada = new SortedList<float, MediasCompetencia>(); List<ReportRow> listaOne = null; List<ReportRow> listaTwo = null; float soma = 0; float dummy; float mediaOne = 0; float mediaTwo = 0; float mediaDiff; switch (one) { case "S": listaOne = getRankingSELF(); break; case "B": listaOne = getRankingBOSS(); break; case "C": listaOne = getRankingCOLABORA(); break; case "O": listaOne = getRankingOUTROS(); break; case "P": listaOne = getRankingPARES(); break; case "T": listaOne = getRankingTODOS(); break; } switch (two) { case "S": listaTwo = getRankingSELF(); break; case "B": listaTwo = getRankingBOSS(); break; case "C": listaTwo = getRankingCOLABORA(); break; case "O": listaTwo = getRankingOUTROS(); break; case "P": listaTwo = getRankingPARES(); break; case "T": listaTwo = getRankingTODOS(); break; } foreach (MediasCompetencia media in mediasCompetencias) { switch (one) { case "S": mediaOne = media.mS; break; case "B": mediaOne = media.mB; break; case "C": mediaOne = media.mC; break; case "O": mediaOne = media.mO; break; case "P": mediaOne = media.mP; break; case "T": mediaOne = media.mT; break; } switch (two) { case "S": mediaTwo = media.mS; break; case "B": mediaTwo = media.mB; break; case "C": mediaTwo = media.mC; break; case "O": mediaTwo = media.mO; break; case "P": mediaTwo = media.mP; break; case "T": mediaTwo = media.mT; break; } mediaDiff = mediaOne - mediaTwo; dummy = 0.0000000000F; if (listaOrdenada.Keys.Contains(mediaDiff)) while (listaOrdenada.Keys.Contains(mediaDiff + dummy)) dummy += 0.000001F; listaOrdenada.Add(mediaDiff + dummy, media); soma += mediaDiff; } if (soma == 0) // não tem Todos // NÃO PODE ACONTECER return null; List<ReportRow> result = new List<ReportRow>(); ReportRow row; float tempValue; String[] resp; int ordem = 1; int count = 1; float currMedia = 1000; for (int i = listaOrdenada.Count - 1; i >= 0; i--) { if (currMedia != listaOrdenada.Values[i].mT) ordem = count; row = new ReportRow(7); row.dados[0] = competenciasLongo[listaOrdenada.Values[i].compID]; resp = getRanking(listaOne, row.dados[0]).Split(';'); row.dados[1] = resp[0]; row.dados[2] = resp[1]; resp = getRanking(listaTwo, row.dados[0]).Split(';'); row.dados[3] = resp[0]; row.dados[4] = resp[1]; row.dados[5] = (int.Parse(row.dados[2]) - int.Parse(row.dados[4])).ToString(); row.dados[6] = listaOrdenada.Keys[i].ToString("0.00"); result.Add(row); currMedia = listaOrdenada.Values[i].mT; count++; } return result; }
public List<ReportRow> getRankingTODOS() { SortedList<float, MediasCompetencia> listaOrdenada = new SortedList<float, MediasCompetencia>(); float soma = 0; float dummy; foreach (MediasCompetencia media in mediasCompetencias) { dummy = 0.0000000000F; if (listaOrdenada.Keys.Contains(media.mT)) while (listaOrdenada.Keys.Contains(media.mT + dummy)) dummy += 0.0000000001F; listaOrdenada.Add(media.mT + dummy, media); soma += media.mT; } if (soma == 0) // não tem Todos // NÃO PODE ACONTECER return null; List<ReportRow> result = new List<ReportRow>(); ReportRow row; float tempValue; int ordem = 1; int count = 1; float currMedia = 1000; for (int i = listaOrdenada.Count - 1; i >= 0; i--) { if (currMedia != listaOrdenada.Values[i].mT) ordem = count; row = new ReportRow(3); row.dados[0] = competenciasLongo[listaOrdenada.Values[i].compID]; tempValue = listaOrdenada.Values[i].mT; row.dados[1] = tempValue.ToString("0.00"); tempValue = ordem; row.dados[2] = tempValue.ToString("0"); listaOrdenada.Values[i].rankT = ordem; result.Add(row); currMedia = listaOrdenada.Values[i].mT; count++; } return result; }
public List<ReportRow> getAvaliacaoComportamentosCriticos_FracosFortes_3Fatores(int competenciaID) { SqlConnection conn = new SqlConnection(DBHelper.ConnectionString); SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandType = CommandType.StoredProcedure; command.CommandText = "Rep_v2_Res_PercenContValCompCriticos"; command.Parameters.AddWithValue("avaliadoID", _pessoaID); command.Parameters.AddWithValue("competenciaID", competenciaID); command.Parameters.AddWithValue("projectoID", _Projecto.ProjectoID); SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); List<ReportRow> result = new List<ReportRow>(); ReportRow rrw; String pergunta; float altos = 0, medios = 0, baixo = 0; float[] p; int id; int zero; String[] Valores; String StrEscala = _Projecto.getCurrentConfig("SCALE"); if (StrEscala == "") { Valores = _Modelo.Scale.Split('|'); //Escalas = _Modelo.ScaleDesc.Split('|'); } else { String[] Escalas = StrEscala.Split('«'); Valores = Escalas[0].Split('|'); //Descricoes = Escalas[1].Split('|'); } // o primeiro valor pode ser o NR, ou não int.TryParse(Valores[0], out zero); Valores[0] = zero.ToString(); p = new float[Valores.Count()]; foreach (DataRow dr in ds.Tables[0].Rows) { altos = 0; // medios = 0; baixo = 0; rrw = new ReportRow(4); id = Convert.ToInt32(dr["perguntaID"]); pergunta = perguntas[id]; rrw.dados[0] = pergunta; for (int i = 0; i < Valores.Count(); i++) { try { p[i] = Convert.IsDBNull(dr["p" + i.ToString()]) ? -1 : (float)Convert.ToDouble(dr["p" + i.ToString()]); } catch { p[i] = 0; } } rrw.dados[1] = ""; rrw.dados[2] = ""; rrw.dados[3] = ""; for (int i = 1; i < Valores.Count(); i++) { if (i <= 3) // verificar se é o 1,2,3 baixo += p[i]; else if (i >= 4) // verificar se é o 4,5 altos += p[i]; } if (baixo >= 0.5) rrw.dados[1] = "C"; //VERMELHO if (baixo > 0.25 && baixo < 0.50) rrw.dados[1] = "B"; //AMARELO if (altos >= 0.75) rrw.dados[1] = "A"; rrw.dados[3] = (p[0] * 100).ToString("0.00"); result.Add(rrw); } return result; }
public List<ReportRow> getAvaliacaoComportamentosCriticos_FracosFortes(int competenciaID) { SqlConnection conn = new SqlConnection(DBHelper.ConnectionString); SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandType = CommandType.StoredProcedure; command.CommandText = "Rep_v2_Res_PercenContValCompCriticos"; command.Parameters.AddWithValue("avaliadoID", _pessoaID); command.Parameters.AddWithValue("competenciaID", competenciaID); command.Parameters.AddWithValue("projectoID", _Projecto.ProjectoID); SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); List<ReportRow> result = new List<ReportRow>(); ReportRow rrw; String pergunta; float fracos = 0, fortes = 0; float[] p; int id; int zero; String[] Valores; String StrEscala = _Projecto.getCurrentConfig("SCALE"); if (StrEscala == "") { Valores = _Modelo.Scale.Split('|'); //Escalas = _Modelo.ScaleDesc.Split('|'); } else { String[] Escalas = StrEscala.Split('«'); Valores = Escalas[0].Split('|'); //Descricoes = Escalas[1].Split('|'); } // o primeiro valor pode ser o NR, ou não int.TryParse(Valores[0], out zero); Valores[0] = zero.ToString(); p = new float[Valores.Count()]; foreach (DataRow dr in ds.Tables[0].Rows) { fracos = 0; fortes = 0; rrw = new ReportRow(4); id = Convert.ToInt32(dr["perguntaID"]); pergunta = perguntas[id]; rrw.dados[0] = pergunta; for (int i = 0; i < Valores.Count(); i++) { try { p[i] = Convert.IsDBNull(dr["p" + i.ToString()]) ? -1 : (float)Convert.ToDouble(dr["p" + i.ToString()]); } catch { p[i] = 0; } } rrw.dados[1] = ""; rrw.dados[2] = ""; rrw.dados[3] = ""; for (int i = 1; i < Valores.Count(); i++) { if (i <= VALOR_ESCALA_CUT_BAIXO) fracos += p[i]; else if (i >= VALOR_ESCALA_CUT_ALTO) fortes += p[i]; } /* Exem+plo escala de 6 */ /* DIST_BAD = 0.06F; DIST_MED_BOTTOM = 0.3F; DIST_MED_TOP = 0.6F; DIST_GOOD_BOTTOM = 0.7F; */ if (fracos <= DIST_MED_BOTTOM /*0.3*/ && fracos > DIST_BAD /*0.06*/) rrw.dados[1] = "A"; if (fracos > DIST_MED_BOTTOM /*0.3*/ && fracos <= DIST_MED_TOP /*0.6*/) rrw.dados[1] = "B"; if (fracos > DIST_MED_TOP /*0.6*/) rrw.dados[1] = "C"; if (fortes >= DIST_GOOD_BOTTOM /*0.70 */) { rrw.dados[2] = "D"; } rrw.dados[3] = (p[0] * 100).ToString("0.00"); result.Add(rrw); } return result; }
public List<ReportRow> DB_getDADOS_GRAFICO_SKILL(int competenciaID) { // procura a competência MediasCompetencia currMedia = null; List<ReportRow> result = new List<ReportRow>(); ReportRow row; float tempValue; currMedia = getMediasCompetencia(competenciaID); foreach (MediasCompetencia media in mediasCompetencias) { if (media.compID == competenciaID) { currMedia = media; break; } } if (currMedia == null) return null; // Primeiro é o self grupo 0 // depois o total // depois o grupo 1 a 4 // como é um gráfico deste tipo tem de entrar ao contrário // as descrições têm de ser a longas List<String> keys = new List<string>(); keys.Add(ReportGroupCodes[0]); keys.Add("T"); for (int i = 1; i < ReportGroupCodes.Count(); i++) if (!keys.Contains(ReportGroupCodes[i])) keys.Add(ReportGroupCodes[i]); foreach (String s in keys) { if (s == ReportGroupCodes[0]) { row = new ReportRow(2); row.dados[0] = currMedia.Description[s]; tempValue = currMedia.mItem[s]; row.dados[1] = tempValue.ToString("0.00"); result.Add(row); } else if (countItem[s] != 0) { row = new ReportRow(2); row.dados[0] = currMedia.Description[s]; tempValue = currMedia.mItem[s]; row.dados[1] = tempValue.ToString("0.00"); result.Add(row); } } // o nome da competência para colocar no titulo do gráfico row = new ReportRow(2); row.dados[0] = competenciasLongo[competenciaID]; row.dados[1] = ""; result.Add(row); return result; }
public List<ReportRow> getRankingGROUP(String group) { SortedList<float, MediasCompetencia> listaOrdenada = new SortedList<float, MediasCompetencia>(); float soma = 0; float dummy; foreach (MediasCompetencia media in mediasCompetencias) { dummy = 0.0000000000F; if (listaOrdenada.Keys.Contains(media.mItem[group])) while (listaOrdenada.Keys.Contains(media.mItem[group] + dummy)) dummy += 0.00000001F; listaOrdenada.Add(media.mItem[group] + dummy, media); soma += media.mItem[group]; } if (soma == 0) return null; List<ReportRow> result = new List<ReportRow>(); ReportRow row; float tempValue; int ordem = 1; int count = 1; float currMedia = 1000; for (int i = listaOrdenada.Count - 1; i >= 0; i--) { if (currMedia != listaOrdenada.Values[i].mItem[group]) ordem = count; row = new ReportRow(3); row.dados[0] = competenciasLongo[listaOrdenada.Values[i].compID]; tempValue = listaOrdenada.Values[i].mItem[group]; // .mB; média deste grupo row.dados[1] = tempValue.ToString("0.00"); tempValue = ordem; // a ordem em que ficou row.dados[2] = tempValue.ToString("0"); listaOrdenada.Values[i].rankItem.Add(group, ordem); // rankB = ordem; guardo a ordem para uso futuro result.Add(row); currMedia = listaOrdenada.Values[i].mItem[group]; count++; } return result; }
public List<ReportRow> getComentarios(String langCode, String qualidade) { SqlConnection conn = new SqlConnection(DBHelper.ConnectionString); SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandType = CommandType.Text; command.CommandText = "select * from Rep_v2_getComentariosGroup(" + _pessoaID.ToString() + "," + _Projecto.ProjectoID.ToString() + ",'" + qualidade + "') order by famindex, compindex"; SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); List<ReportRow> result = new List<ReportRow>(); int currCompetencia = -1; ReportRow rrw = new ReportRow(2); foreach (DataRow dr in ds.Tables[0].Rows) { if (currCompetencia != Convert.ToInt32(dr["ID_Competencia"])) { rrw = new ReportRow(2); rrw.dados[0] = "BREAK"; result.Add(rrw); currCompetencia = Convert.ToInt32(dr["ID_Competencia"]); rrw = new ReportRow(2); rrw.dados[0] = currCompetencia.ToString(); result.Add(rrw); } rrw = new ReportRow(2); rrw.dados[0] = ""; rrw.dados[1] = Convert.ToString(dr["valor"]); result.Add(rrw); } return result; }