Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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;
        }