/// <summary> /// Obtiene los datos consultados del puntaje de evaluación de los planes asociados a una convocatoria /// </summary> /// <param name="codConvocatoria">Código de la convocatoria</param> /// <returns>Información consultada</returns> public static List <Datos.DataType.ReportePuntaje> getReporte(int codConvocatoria) { using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(cadenaConexion)) { var consulta = db.REP_ConsultarReportePuntaje(codConvocatoria).Select(x => new Datos.DataType.ReportePuntaje() { codProyecto = x.Id_Proyecto, MontoRecomendado = x.MontoRecomendado, MontoSolicitado = x.MontoSolicitado, NomCiudad = string.Format("{0} ({1})", x.NomCiudad, x.NomDepartamento), NomProyecto = x.NomProyecto, NomUnidad = string.Format("{0} ({1})", x.NomUnidad, x.NomInstitucion), Viable = x.Viable, A = ConvertirNulo(x.A, codConvocatoria, Constantes.Const_RepA), B = ConvertirNulo(x.B, codConvocatoria, Constantes.Const_RepB), C = ConvertirNulo(x.C, codConvocatoria, Constantes.Const_RepC), D = ConvertirNulo(x.D, codConvocatoria, Constantes.Const_RepD), E = ConvertirNulo(x.E, codConvocatoria, Constantes.Const_RepE), F = ConvertirNulo(x.F, codConvocatoria, Constantes.Const_RepF), G = ConvertirNulo(x.G, codConvocatoria, Constantes.Const_RepG), H = ConvertirNulo(x.H, codConvocatoria, Constantes.Const_RepH), I = ConvertirNulo(x.I, codConvocatoria, Constantes.Const_RepI), J = ConvertirNulo(x.J, codConvocatoria, Constantes.Const_RepJ), K = ConvertirNulo(x.K, codConvocatoria, Constantes.Const_RepK), L = ConvertirNulo(x.L, codConvocatoria, Constantes.Const_RepL), M = ConvertirNulo(x.M, codConvocatoria, Constantes.Const_RepM), N = ConvertirNulo(x.N, codConvocatoria, Constantes.Const_RepN), O = ConvertirNulo(x.O, codConvocatoria, Constantes.Const_RepO), P = ConvertirNulo(x.P, codConvocatoria, Constantes.Const_RepP), Q = ConvertirNulo(x.Q, codConvocatoria, Constantes.Const_RepQ), R = ConvertirNulo(x.R, codConvocatoria, Constantes.Const_RepR), S = ConvertirNulo(x.S, codConvocatoria, Constantes.Const_RepS), T = ConvertirNulo(x.T, codConvocatoria, Constantes.Const_RepT), U = ConvertirNulo(x.U, codConvocatoria, Constantes.Const_RepU), V = ConvertirNulo(x.V, codConvocatoria, Constantes.Const_RepV), W = ConvertirNulo(x.W, codConvocatoria, Constantes.Const_RepW), X = ConvertirNulo(x.X, codConvocatoria, Constantes.Const_RepX), Y = ConvertirNulo(x.Y, codConvocatoria, Constantes.Const_RepY), Z = ConvertirNulo(x.Z, codConvocatoria, Constantes.Const_RepZ), AA = ConvertirNulo(x.AA, codConvocatoria, Constantes.Const_RepAA), AB = ConvertirNulo(x.AB, codConvocatoria, Constantes.Const_RepAB), AC = ConvertirNulo(x.AC, codConvocatoria, Constantes.Const_RepAC), AD = ConvertirNulo(x.AD, codConvocatoria, Constantes.Const_RepAD), AE = ConvertirNulo(x.AE, codConvocatoria, Constantes.Const_RepAE), AF = ConvertirNulo(x.AF, codConvocatoria, Constantes.Const_RepAF), AG = ConvertirNulo(x.AG, codConvocatoria, Constantes.Const_RepAG), AH = ConvertirNulo(x.AH, codConvocatoria, Constantes.Const_RepAH), AI = ConvertirNulo(x.AI, codConvocatoria, Constantes.Const_RepAI), AJ = ConvertirNulo(x.AJ, codConvocatoria, Constantes.Const_RepAJ), AK = ConvertirNulo(x.AK, codConvocatoria, Constantes.Const_RepAK), AL = ConvertirNulo(x.AL, codConvocatoria, Constantes.Const_RepAL), AM = ConvertirNulo(x.AM, codConvocatoria, Constantes.Const_RepAM), AN = ConvertirNulo(x.AN, codConvocatoria, Constantes.Const_RepAN), AO = ConvertirNulo(x.AO, codConvocatoria, Constantes.Const_RepAO), AP = ConvertirNulo(x.AP, codConvocatoria, Constantes.Const_RepAP), AQ = ConvertirNulo(x.AQ, codConvocatoria, Constantes.Const_RepAQ), AR = ConvertirNulo(x.AR, codConvocatoria, Constantes.Const_RepAR), AS = ConvertirNulo(x.AS, codConvocatoria, Constantes.Const_RepAS), AT = ConvertirNulo(x.AT, codConvocatoria, Constantes.Const_RepAT), AU = ConvertirNulo(x.AU, codConvocatoria, Constantes.Const_RepAU), AV = ConvertirNulo(x.AV, codConvocatoria, Constantes.Const_RepAV), AW = ConvertirNulo(x.AW, codConvocatoria, Constantes.Const_RepAW), AX = ConvertirNulo(x.AX, codConvocatoria, Constantes.Const_RepAX), AY = ConvertirNulo(x.AY, codConvocatoria, Constantes.Const_RepAY), AZ = ConvertirNulo(x.AZ, codConvocatoria, Constantes.Const_RepAZ), BA = ConvertirNulo(x.BA, codConvocatoria, Constantes.Const_RepBA), BB = ConvertirNulo(x.BB, codConvocatoria, Constantes.Const_RepBB), BC = ConvertirNulo(x.BC, codConvocatoria, Constantes.Const_RepBC), BD = ConvertirNulo(x.BD, codConvocatoria, Constantes.Const_RepBD), BE = ConvertirNulo(x.BE, codConvocatoria, Constantes.Const_RepBE), BF = ConvertirNulo(x.BF, codConvocatoria, Constantes.Const_RepBF), BG = ConvertirNulo(x.BG, codConvocatoria, Constantes.Const_RepBG), BH = ConvertirNulo(x.BH, codConvocatoria, Constantes.Const_RepBH), BI = ConvertirNulo(x.BI, codConvocatoria, Constantes.Const_RepBI), BJ = ConvertirNulo(x.BJ, codConvocatoria, Constantes.Const_RepBJ), BK = ConvertirNulo(x.BK, codConvocatoria, Constantes.Const_RepBK), BL = ConvertirNulo(x.BL, codConvocatoria, Constantes.Const_RepBL), BM = ConvertirNulo(x.BM, codConvocatoria, Constantes.Const_RepBM), BN = ConvertirNulo(x.BN, codConvocatoria, Constantes.Const_RepBN), BO = ConvertirNulo(x.BO, codConvocatoria, Constantes.Const_RepBO), BP = ConvertirNulo(x.BP, codConvocatoria, Constantes.Const_RepBP), //Se suma el total de los valores de los códigos tab 71(A), 73(B) TotalProtagonista = calcularTotales(new string[] { x.A, x.B }, true), //Se suma el total de los valores de los códigos tab 76(C),77(D),79(E),80(F),81(G),82(H),84(I),85(J),86(K) //, 146(BA), 147(BB) TotalOportunidad = calcularTotales(new string[] { x.C, x.D, x.E, x.F, x.G, x.H, x.I, x.J, x.K , x.BA, x.BB }, true), //Se suma el total de los valores de los códigos tab 89(L),90(M),91(N),92(O),93(P),95(Q),96(R),97(S),99(T),100(U),101(V) //, 148(BC), 149(BD), 150(BE) TotalSolucion = calcularTotales(new string[] { x.L, x.M, x.N, x.O, x.P, x.Q, x.R, x.S, x.T, x.U, x.V , x.BC, x.BD, x.BE }, true), //Se suma el total de los valores de los códigos tab 104(W), 105(X), 106(Y), 107(Z), 108(AA), 110(AB), 111(AC), 113(AD), 114(AE), 115(AF), 116(AG), 117(AH), 118(AI), 119(AJ), 121(AK), 122(AL) //, 151(BF), 152(BG), 153(BH), 154(BI), 155(BJ) TotalDesarrollo = calcularTotales(new string[] { x.W, x.X, x.Y, x.Z, x.AA, x.AB, x.AC, x.AD, x.AE, x.AF, x.AG, x.AH, x.AI, x.AJ, x.AK, x.AL , x.BF, x.BG, x.BH, x.BI, x.BJ }, true), //Se suma el total de los valores de los códigos tab 125(AM), 126(AN), 128(AO), 129(AP), 130(AQ), 132(AR), 133(AS), 134(AT), 135(AU) TotalFuturoNegocio = calcularTotales(new string[] { x.AM, x.AN, x.AO, x.AP, x.AQ, x.AR, x.AS, x.AT, x.AU }, true), //Se suma el total de los valores de los códigos tab 138(AV), 139(AW), 156(BK), 157(BL), 158(BM) TotalRiesgo = calcularTotales(new string[] { x.AV, x.AW, x.BK, x.BL, x.BM }, true), //Se busca la condición AND de los códigos 142(AX), 143(AY), 145(AZ) VlrResumenLetras = calcularTotales(new string[] { x.AX, x.AY, x.AZ }, false) != 0 ? "SI" : "NO", //Se ResumenEjecutivo los códigos 162(BN), 163(BO), 164(BP) VlrResumenNumeros = calcularTotales(new string[] { x.BN, x.BO, x.BP }, true), //Se calcula el puntaje total exceptuando las preguntas del valor resumen en letras PuntajeTotal = calcularTotales(new string[] { x.A, x.B, x.C, x.D, x.E, x.F, x.G, x.H, x.I, x.J, x.K, x.L, x.M, x.N, x.O, x.P, x.Q, x.R, x.S, x.T, x.U, x.V, x.W, x.X, x.Y, x.Z, x.AA, x.AB, x.AC, x.AD, x.AE, x.AF, x.AG, x.AH, x.AI, x.AJ, x.AK, x.AL, x.AM, x.AN, x.AO, x.AP, x.AQ, x.AR, x.AS, x.AT, x.AU, x.AV, x.AW, x.BA, x.BB, x.BC, x.BD, x.BE, x.BF, x.BG, x.BH, x.BI, x.BJ, x.BK, x.BL, x.BM, x.BN, x.BO, x.BP }, true), }).ToList(); return(consulta); } }