public List<vRptaReporteDinamicoContratos> Consultar(vConsultaContratosDinamicaDto Reg) { using (ctx = new Entities()) { List<vRptaReporteDinamicoContratos> lr = new List<vRptaReporteDinamicoContratos>(); List<vCON_CONTRATOS_DINAMICO> lrContratos = new List<vCON_CONTRATOS_DINAMICO>(); string Query = ArmarCadenaConsulta(Reg); List<vCON_CONTRATOS_DINAMICO> lContratos = ctx.Database.SqlQuery<vCON_CONTRATOS_DINAMICO>(Query).ToList(); vRptaReporteDinamicoContratos ReportePrincipal = new vRptaReporteDinamicoContratos(); ReportePrincipal.Nombre = "Reporte principal"; ReportePrincipal.Html = ArmarTablaReporte(lContratos, Reg.lCamposMostrar); lr.Add(ReportePrincipal); List<vRptaReporteDinamicoContratos> lConsolidados = new List<vRptaReporteDinamicoContratos>(); if (Reg.lCamposAgrupar.Count() >= 1) lConsolidados = Consolidados(Reg, Query); lConsolidados.ForEach(t => lr.Add(t)); return lr; } }
private List<vRptaReporteDinamicoContratos> Consolidados(vConsultaContratosDinamicaDto Reg, string Query) { int id_tabla = 1; List<vRptaReporteDinamicoContratos> lr = new List<vRptaReporteDinamicoContratos>(); if (!Reg.AgruparIndividuales) { string newQuery = ArmarConsultaAgrupada(Reg.lCamposAgrupar, Query); List<vConsultaConsolidado> lConsolidadosUnico = ctx.Database.SqlQuery<vConsultaConsolidado>(newQuery).ToList(); vRptaReporteDinamicoContratos ConsolidadoUnico = new vRptaReporteDinamicoContratos(); ConsolidadoUnico.Nombre = "Consolidado"; ConsolidadoUnico.Html = ArmarTablaConsolidado(lConsolidadosUnico, Reg.lCamposAgrupar, id_tabla.ToString()); lr.Add(ConsolidadoUnico); return lr; } else { foreach (vCampos item in Reg.lCamposAgrupar) { List<vCampos> l = new List<vCampos>(); l.Add(item); string newQuery = ArmarConsultaAgrupada(l, Query); List<vConsultaConsolidado> lConsolidadosIndividual = ctx.Database.SqlQuery<vConsultaConsolidado>(newQuery).ToList(); vRptaReporteDinamicoContratos ConsolidadoIndividual = new vRptaReporteDinamicoContratos(); ConsolidadoIndividual.Nombre = "Consolidado " + item.name; List<vCampos> lAux = new List<vCampos>(); lAux.Add(item); ConsolidadoIndividual.Html = ArmarTablaConsolidado(lConsolidadosIndividual, lAux, id_tabla.ToString()); id_tabla++; lr.Add(ConsolidadoIndividual); } } return lr; }