Exemplo n.º 1
0
        public ActionResult Mantenimiento(long codigo = 0)
        {
            AlineamientoConfiguracion = new AlineamientoConfiguracionLogic();
            List <ParametroDetalleLogic> listaGuiaEmpresarial     = new List <ParametroDetalleLogic>();
            List <ParametroLogic>        listaAlineamientoInicial = new List <ParametroLogic>();
            List <ParametroLogic>        listaAlineamientoFinal   = new List <ParametroLogic>();

            if (codigo > 0)
            {
                AlineamientoConfiguracion          = _AlineamientoConfiguracionAppService.Obtener(codigo);
                AlineamientoConfiguracion.InfoMovs = new InfoMovs {
                    ACCION = Enums.Action.Edit
                };
            }
            else
            {
                AlineamientoConfiguracion.Estado = true;
            }

            vmAlineamientoConfiguracion.AlineamientoConfiguracion = AlineamientoConfiguracion;

            listaGuiaEmpresarial.AddRange(_ParametroDetalleAppService.Listar(Enums.Parametro.TipoGuiaEmpresarial).Where(x => x.Estado).ToList());
            listaGuiaEmpresarial.Insert(0, new ParametroDetalleLogic {
                CodigoElemento = "0", Nombre = Enums.ComboDefault.Seleccione
            });
            ViewBag.listaGuiaEmpresarial = listaGuiaEmpresarial;

            return(PartialView(vmAlineamientoConfiguracion));
        }
Exemplo n.º 2
0
        public FileResult DescargarDocumento(long codigoGuiaEmpresarial, string GuiaEmpresarial, string anexo)
        {
            AlineamientoConfiguracionLogic      alineamientoConfiguracion    = new AlineamientoConfiguracionLogic();
            List <AlineamientoEstrategicoLogic> listaAlineamientoEstrategico = new List <AlineamientoEstrategicoLogic>();

            bool evaluacion = false, planOperativo = false;

            if (codigoGuiaEmpresarial == Enums.GuiaEmpresarial.MatrizPEI || codigoGuiaEmpresarial == Enums.GuiaEmpresarial.PlanOperativo)
            {
                evaluacion            = (codigoGuiaEmpresarial == Enums.GuiaEmpresarial.MatrizPEI);
                planOperativo         = (codigoGuiaEmpresarial == Enums.GuiaEmpresarial.PlanOperativo);
                codigoGuiaEmpresarial = Enums.GuiaEmpresarial.MatrizEstrategica;
            }

            if (codigoGuiaEmpresarial > 0)
            {
                alineamientoConfiguracion    = _AlineamientoConfiguracionAppService.Listar().Where(x => x.CodigoTipoGuiaEmpresarial == codigoGuiaEmpresarial && x.Estado).FirstOrDefault();
                listaAlineamientoEstrategico = _AlineamientoEstrategicoAppService.Listar().Where(x => x.Estado && x.CodigoTipoGuiaEmpresarial == codigoGuiaEmpresarial).ToList();
            }

            DataTable dataLineamiento = ObtenerTabla(alineamientoConfiguracion, listaAlineamientoEstrategico, codigoGuiaEmpresarial, evaluacion, planOperativo);
            DataTable data            = evaluacion ? ObtenerValores(dataLineamiento) : dataLineamiento;

            string rutaCompleta  = CrearReporte(data, GuiaEmpresarial, CantidadLineamientos, anexo);//CORREGIR
            string ruta          = Path.GetDirectoryName(rutaCompleta);
            string tipoArchivo   = "application/pdf";
            string nombreArchivo = Path.GetFileName(rutaCompleta);

            return(File(rutaCompleta, tipoArchivo, nombreArchivo));
        }
Exemplo n.º 3
0
        private int cantidadLineamientos(int codigoTipoGuiaEmpresarial)
        {
            AlineamientoConfiguracionLogic alineamientoConfiguracion = _AlineamientoConfiguracionAppService.Listar().Where(x => x.Estado && x.CodigoTipoGuiaEmpresarial == codigoTipoGuiaEmpresarial).FirstOrDefault();

            int cont = 0;

            if (alineamientoConfiguracion.CodigoTipoAlineamiento1 > 0)
            {
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento2 > 0)
            {
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento3 > 0)
            {
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento4 > 0)
            {
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento5 > 0)
            {
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento6 > 0)
            {
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento7 > 0)
            {
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento8 > 0)
            {
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento9 > 0)
            {
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento10 > 0)
            {
                cont++;
            }

            return(cont);
        }
Exemplo n.º 4
0
        public ActionResult ObtenerCabecera(long CodigoTipoGuiaEmpresarial)
        {
            AlineamientoConfiguracionLogic alineamientoConfiguracion = new AlineamientoConfiguracionLogic();

            if (CodigoTipoGuiaEmpresarial > 0)
            {
                alineamientoConfiguracion = _AlineamientoConfiguracionAppService.Listar().Where(x => x.CodigoTipoGuiaEmpresarial == CodigoTipoGuiaEmpresarial && x.Estado).FirstOrDefault();
            }

            return(Json(alineamientoConfiguracion, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 5
0
        public ActionResult PaginacionMantenimiento(string arg)
        {
            AlineamientoConfiguracionLogic alineamientoConfiguracion = new AlineamientoConfiguracionLogic();

            if (Session[SessionIndicadorDetalle] != null)
            {
                listaIndicadorDetalleSession = (List <IndicadorDetalleLogic>)Session[SessionIndicadorDetalle];
            }
            else
            {
                Session[SessionIndicadorDetalle] = null;
            }

            var modelData = JsonConvert.DeserializeObject <GMDGridModel <IndicadorDetalleLogic> >(arg);

            modelData.Data = new List <IndicadorDetalleLogic>();

            var paginateParams = new PaginateParams
            {
                IsPaginate    = false,
                PageIndex     = modelData.CurrentPageIndex,
                RowsPerPage   = modelData.RowsPerPage,
                SortColumn    = modelData.OrderBy,
                SortDirection = modelData.DirectionOrder
            };

            if (modelData.Filters != null)
            {
                paginateParams.Filters = Funciones.Conversion.ListaToDatatable <GMDFilter>(modelData.Filters.ToList());
            }

            if (modelData.isFirstLoad)
            {
                modelData.Data = listaIndicadorDetalleSession;
            }
            else
            {
                if (listaIndicadorDetalleSession.Count > 0)
                {
                    modelData.Data = listaIndicadorDetalleSession;
                }
            }

            if (modelData != null && listaIndicadorDetalleSession.Count > 0)
            {
                int codigoGuia = modelData.Data.Select(x => x.CodigoTipoGuiaEmpresarial).FirstOrDefault();
                alineamientoConfiguracion = _AlineamientoConfiguracionAppService.Listar().Where(x => x.CodigoTipoGuiaEmpresarial == codigoGuia && x.Estado).FirstOrDefault();
                listaIndicadorDetalleSession[0].alineamientoConfiguracion = alineamientoConfiguracion;
            }

            modelData.TotalRows = modelData.Data.ToList().Count;

            return(PartialView(modelData));
        }
Exemplo n.º 6
0
        public ActionResult Paginacion(string arg, string codigoGuiaEmpresarial)
        {
            int  codigoGuia = 0;
            bool resultado  = int.TryParse(codigoGuiaEmpresarial, out codigoGuia);
            AlineamientoConfiguracionLogic alineamientoConfiguracion = new AlineamientoConfiguracionLogic();
            List <IndicadorDetalleLogic>   data = new List <IndicadorDetalleLogic>();

            if (codigoGuia > 0)
            {
                alineamientoConfiguracion = _AlineamientoConfiguracionAppService.Listar().Where(x => x.CodigoTipoGuiaEmpresarial == codigoGuia && x.Estado).FirstOrDefault();
            }

            var modelData      = JsonConvert.DeserializeObject <GMDGridModel <IndicadorDetalleLogic> >(arg);
            var paginateParams = new PaginateParams
            {
                IsPaginate    = Convert.ToBoolean(WebConfigurationManager.AppSettings["IsPaginate"]),
                PageIndex     = modelData.CurrentPageIndex,
                RowsPerPage   = modelData.RowsPerPage,
                SortColumn    = modelData.OrderBy,
                SortDirection = modelData.DirectionOrder
            };

            if (modelData.Filters != null)
            {
                paginateParams.Filters = Funciones.Conversion.ListaToDatatable <GMDFilter>(modelData.Filters.ToList());
            }

            if (modelData.isFirstLoad)
            {
                data = _IndicadorDetalleAppService.Paginacion(paginateParams, codigoGuia, Enums.TipoRegistro.Meta, Enums.TipoPlan.PlanEjecucion);
                if (data.Count > 0)
                {
                    data[0].alineamientoConfiguracion = alineamientoConfiguracion;
                }
            }

            modelData.Data = data;

            modelData.TotalRows = paginateParams.TotalRows;

            return(PartialView(modelData));
        }
Exemplo n.º 7
0
        public ActionResult PaginacionAlineamientos(string arg, int CodigoAlineamientoConfiguracion)
        {
            List <ParametroLogic>          lista        = new List <ParametroLogic>();
            ParametroLogic                 indicador    = new ParametroLogic();
            AlineamientoConfiguracionLogic alineamiento = new AlineamientoConfiguracionLogic();

            var modelData      = JsonConvert.DeserializeObject <GMDGridModel <ParametroLogic> >(arg);
            var paginateParams = new PaginateParams
            {
                IsPaginate    = Convert.ToBoolean(WebConfigurationManager.AppSettings["IsPaginate"]),
                PageIndex     = modelData.CurrentPageIndex,
                RowsPerPage   = modelData.RowsPerPage,
                SortColumn    = modelData.OrderBy,
                SortDirection = modelData.DirectionOrder
            };

            if (modelData.Filters != null)
            {
                paginateParams.Filters = Funciones.Conversion.ListaToDatatable <GMDFilter>(modelData.Filters.ToList());
            }

            if (modelData.isFirstLoad)
            {
                indicador.Nombre = "INDICADOR";
                lista.AddRange(_ParametroAppService.Listar().Where(x => (x.Funcional || x.Valor == "GR-PRS") && x.Estado));

                lista.Add(indicador);
                modelData.Data = lista;
            }
            else
            {
                modelData.Data = new List <ParametroLogic>();
            }

            modelData.TotalRows = modelData.Data.Count();

            return(PartialView(modelData));
        }
Exemplo n.º 8
0
        public AlineamientoConfiguracionLogic Obtener(float codigo)
        {
            AlineamientoConfiguracionLogic entidadLogic = new AlineamientoConfiguracionLogic();

            try
            {
                SQLServer.OpenConection();
                SQLServer.CreateCommand("MOV.USP_SEL_ALINEAMIENTO_CONFIGURACION_OBTENER", CommandType.StoredProcedure,
                                        SQLServer.CreateParameter("CODIGO_ALINEAMIENTO_CONFIGURACION", SqlDbType.BigInt, codigo));
                using (IDataReader oReader = SQLServer.GetDataReader(CommandBehavior.CloseConnection))
                {
                    entidadLogic = new GenericInstance <AlineamientoConfiguracionLogic>().readDataReader(oReader);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                SQLServer.CloseConection();
            }
            return(entidadLogic);
        }
Exemplo n.º 9
0
        public DataTable ObtenerTabla(AlineamientoConfiguracionLogic alineamientoConfiguracion, List <AlineamientoEstrategicoLogic> listaAlineamientoEstrategico, long codigoGuiaEmpresarial, bool evaluacion, bool planOperativo)
        {
            DataTable tabla           = new DataTable();
            int       cont            = 0;
            bool      removerColumnas = false;

            List <ReporteLogic> listaIndicadorDetalleMeta      = new List <ReporteLogic>();
            List <ReporteLogic> listaIndicadorDetalleLineaBase = new List <ReporteLogic>();

            if (planOperativo)
            {
                listaIndicadorDetalleMeta = _ReporteAppService.ObtenerDetalleIndicador(codigoGuiaEmpresarial, Enums.TipoRegistro.Ejecucion, Enums.TipoPeriodicidad.Trimestral);//cambiar el tipo de periodicidad
            }

            if (codigoGuiaEmpresarial != Enums.GuiaEmpresarial.AlineamientoOEC)
            {
                listaIndicadorDetalleMeta      = _ReporteAppService.ObtenerDetalleIndicador(codigoGuiaEmpresarial, Enums.TipoRegistro.Meta, 99);      //cambiar el tipo de periodicidad
                listaIndicadorDetalleLineaBase = _ReporteAppService.ObtenerDetalleIndicador(codigoGuiaEmpresarial, Enums.TipoRegistro.LineaBase, 99); //cambiar el tipo de periodicidad
            }

            string cabeceraCadena    = "",
                   unidadMedida      = "UNIDAD DE MEDIDA",
                   codigoIndicador   = "CODIGO_INDICADOR",
                   formula           = "FORMA DE CÁLCULO",
                   fuenteInformacion = "FUENTE DE INFORMACIÓN",
                   area               = "AREA RESPONSABLE",
                   indicador          = "INDICADOR",
                   anio               = "AÑO-Linea Base",
                   valor              = "VALOR-Linea Base",
                   codigoAlineamiento = "CODIGO_ALINEAMIENTO_ESTRATEGICO";

            if (alineamientoConfiguracion.CodigoTipoAlineamiento1 > 0)
            {
                string cabecera = alineamientoConfiguracion.TipoAlineamiento1.Split(':')[1].Trim();
                tabla.Columns.Add(cabecera, typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento2 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento2.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento3 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento3.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento4 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento4.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento5 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento5.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento6 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento6.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento7 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento7.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento8 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento8.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento9 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento9.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento10 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento10.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.Indicador)
            {
                tabla.Columns.Add(indicador, typeof(string));
                tabla.Columns.Add(unidadMedida, typeof(string));
                tabla.Columns.Add(codigoIndicador, typeof(int));
                tabla.Columns.Add(codigoAlineamiento, typeof(int));

                removerColumnas = true;

                if (!evaluacion)
                {
                    //para linea base
                    tabla.Columns.Add(anio, typeof(string));
                    tabla.Columns.Add(valor, typeof(string));
                }

                cont++;
            }

            CantidadLineamientos = cont;

            foreach (AlineamientoEstrategicoLogic item in listaAlineamientoEstrategico)
            {
                DataRow row = tabla.NewRow();

                if (item.CodigoAlineamiento1 != "0" && item.CodigoAlineamiento1 != "" && item.CodigoAlineamiento1 != null)
                {
                    row[0] = item.Alineamiento1;
                }

                if (item.CodigoAlineamiento2 != "0" && item.CodigoAlineamiento2 != "" && item.CodigoAlineamiento2 != null)
                {
                    row[1] = item.Alineamiento2;
                }

                if (item.CodigoAlineamiento3 != "0" && item.CodigoAlineamiento3 != "" && item.CodigoAlineamiento3 != null)
                {
                    row[2] = item.Alineamiento3;
                }

                if (item.CodigoAlineamiento4 != "0" && item.CodigoAlineamiento4 != "" && item.CodigoAlineamiento4 != null)
                {
                    row[3] = item.Alineamiento4;
                }

                if (item.CodigoAlineamiento5 != "0" && item.CodigoAlineamiento5 != "" && item.CodigoAlineamiento5 != null)
                {
                    row[4] = item.Alineamiento5;
                }

                if (item.CodigoAlineamiento6 != "0" && item.CodigoAlineamiento6 != "" && item.CodigoAlineamiento6 != null)
                {
                    row[5] = item.Alineamiento6;
                }

                if (item.CodigoAlineamiento7 != "0" && item.CodigoAlineamiento7 != "" && item.CodigoAlineamiento7 != null)
                {
                    row[6] = item.Alineamiento7;
                }

                if (item.CodigoAlineamiento8 != "0" && item.CodigoAlineamiento8 != "" && item.CodigoAlineamiento8 != null)
                {
                    row[7] = item.Alineamiento8;
                }

                if (item.CodigoAlineamiento9 != "0" && item.CodigoAlineamiento9 != "" && item.CodigoAlineamiento9 != null)
                {
                    row[8] = item.Alineamiento9;
                }

                if (item.CodigoAlineamiento10 != "0" && item.CodigoAlineamiento10 != "" && item.CodigoAlineamiento10 != null)
                {
                    row[9] = item.Alineamiento10;
                }

                if (item.CodigoIndicador > 0)
                {
                    row[indicador]          = Regex.Replace(item.Indicador, @"[\d-\.]", string.Empty);
                    row[codigoIndicador]    = item.CodigoIndicador;
                    row[codigoAlineamiento] = item.CodigoAlineamientoEstrategico;
                }

                tabla.Rows.Add(row);
            }

            if (listaIndicadorDetalleLineaBase.Count > 0 && !evaluacion)
            {
                foreach (DataRow item in tabla.Rows)
                {
                    List <ReporteLogic> info = listaIndicadorDetalleLineaBase.Where(x => x.CodigoAlineamientoEstrategico == int.Parse(item[codigoAlineamiento].ToString()) && x.CodigoIndicador == int.Parse(item[codigoIndicador].ToString())).ToList();

                    foreach (ReporteLogic item1 in info)
                    {
                        item[anio]  = item1.TipoPeriodicidad;
                        item[valor] = item1.Valor.ToString() == "" ? "-" : item1.Valor.ToString().Substring(0, item1.Valor.ToString().Length - 2);
                    }
                }
            }

            if (listaIndicadorDetalleMeta.Count > 0)
            {
                List <SelectListItem> dtCabeceraIndicador = listaIndicadorDetalleMeta.Select(item => new SelectListItem
                {
                    Value = item.TipoPeriodicidad.ToString(),
                    Text  = item.TipoPeriodicidad
                }).DistinctBy(x => x.Value).ToList();

                cont = 0;
                foreach (SelectListItem item in dtCabeceraIndicador)
                {
                    tabla.Columns.Add(item.Text + "-Metas", typeof(string));

                    if (cont == dtCabeceraIndicador.Count - 1 && codigoGuiaEmpresarial == Enums.GuiaEmpresarial.MatrizAEI)
                    {
                        tabla.Columns.Add(formula, typeof(string));
                        tabla.Columns.Add(fuenteInformacion, typeof(string));
                        tabla.Columns.Add(area, typeof(string));
                    }

                    cont++;
                }

                foreach (DataRow item in tabla.Rows)
                {
                    List <ReporteLogic> info = listaIndicadorDetalleMeta.Where(x => x.CodigoAlineamientoEstrategico == int.Parse(item[codigoAlineamiento].ToString()) && x.CodigoIndicador == int.Parse(item[codigoIndicador].ToString())).ToList();

                    cont = 0;
                    foreach (ReporteLogic item1 in info)
                    {
                        if (cont == 0)
                        {
                            item[unidadMedida] = item1.UnidadMedida;

                            if (codigoGuiaEmpresarial == Enums.GuiaEmpresarial.MatrizAEI)
                            {
                                item[formula]           = item1.Formula;
                                item[fuenteInformacion] = item1.FuenteInformacion;
                                item[area] = item1.Area;
                            }
                        }

                        item[item1.TipoPeriodicidad + "-Metas"] = item1.Valor.ToString() == "" ? "-" : item1.Valor.ToString().Substring(0, item1.Valor.ToString().Length - 2);

                        cont++;
                    }
                }
            }

            foreach (DataRow rows in tabla.Rows)
            {
                for (int i = 0; i < tabla.Columns.Count; i++)
                {
                    string contenido = rows[i].ToString().Trim();

                    if (contenido == "")
                    {
                        rows[i] = "-";
                    }
                }
            }

            if (removerColumnas && !evaluacion)
            {
                tabla.Columns.Remove(codigoAlineamiento);
                tabla.Columns.Remove(codigoIndicador);
            }

            return(tabla);
        }
Exemplo n.º 10
0
        public DataTable ObtenerLineamiento(int codigoTipoGuiaEmpresarial, int codigoAlineamientoEstrategico)
        {
            AlineamientoConfiguracionLogic alineamientoConfiguracion = new AlineamientoConfiguracionLogic();
            List <IndicadorDetalleLogic>   indicadorDetalle          = new List <IndicadorDetalleLogic>();

            alineamientoConfiguracion = _AlineamientoConfiguracionAppService.Listar().Where(x => x.Estado && x.CodigoTipoGuiaEmpresarial == codigoTipoGuiaEmpresarial).FirstOrDefault();
            indicadorDetalle          = _IndicadorDetalleAppService.Listar(codigoAlineamientoEstrategico, Enums.TipoRegistro.Ejecucion, Enums.TipoPlan.PlanEjecucion, "").Where(x => x.Estado && x.CodigoIndicadorDetalle > 0).ToList();

            DataTable tabla           = new DataTable();
            int       cont            = 0;
            bool      removerColumnas = false;

            string cabeceraCadena         = "",
                   unidadMedida           = "UNIDAD DE MEDIDA",
                   indicador              = "INDICADOR",
                   codigoIndicadorDetalle = "CODIGO_INDICADOR_DETALLE";

            if (alineamientoConfiguracion.CodigoTipoAlineamiento1 > 0)
            {
                string cabecera = alineamientoConfiguracion.TipoAlineamiento1.Split(':')[1];
                tabla.Columns.Add(cabecera, typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento2 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento2.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento3 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento3.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento4 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento4.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento5 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento5.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento6 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento6.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento7 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento7.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento8 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento8.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento9 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento9.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.CodigoTipoAlineamiento10 > 0)
            {
                tabla.Columns.Add(alineamientoConfiguracion.TipoAlineamiento10.Split(':')[1], typeof(string));
                cont++;
            }

            if (alineamientoConfiguracion.Indicador)
            {
                tabla.Columns.Add(indicador, typeof(string));
                tabla.Columns.Add(unidadMedida, typeof(string));
                tabla.Columns.Add(codigoIndicadorDetalle, typeof(int));

                removerColumnas = true;

                cont++;
            }

            foreach (IndicadorDetalleLogic item in indicadorDetalle)
            {
                DataRow row = tabla.NewRow();

                if (item.Alineamiento1 != "" && item.Alineamiento1 != null)
                {
                    row[0] = item.Alineamiento1;
                }

                if (item.Alineamiento2 != "" && item.Alineamiento2 != null)
                {
                    row[1] = item.Alineamiento2;
                }

                if (item.Alineamiento3 != "" && item.Alineamiento3 != null)
                {
                    row[2] = item.Alineamiento3;
                }

                if (item.Alineamiento4 != "" && item.Alineamiento4 != null)
                {
                    row[3] = item.Alineamiento4;
                }

                if (item.Alineamiento5 != "" && item.Alineamiento5 != null)
                {
                    row[4] = item.Alineamiento5;
                }

                if (item.Alineamiento6 != "" && item.Alineamiento6 != null)
                {
                    row[5] = item.Alineamiento6;
                }

                if (item.Alineamiento7 != "" && item.Alineamiento7 != null)
                {
                    row[6] = item.Alineamiento7;
                }

                if (item.Alineamiento8 != "" && item.Alineamiento8 != null)
                {
                    row[7] = item.Alineamiento8;
                }

                if (item.Alineamiento9 != "" && item.Alineamiento9 != null)
                {
                    row[8] = item.Alineamiento9;
                }

                if (item.Alineamiento10 != "" && item.Alineamiento10 != null)
                {
                    row[9] = item.Alineamiento10;
                }

                if (item.CodigoIndicador > 0)
                {
                    row[indicador]              = Regex.Replace(item.Indicador, @"[\d-\.]", string.Empty);
                    row[unidadMedida]           = item.UnidadMedida;
                    row[codigoIndicadorDetalle] = item.CodigoIndicadorDetalle;
                }

                tabla.Rows.Add(row);
            }

            foreach (DataRow rows in tabla.Rows)
            {
                for (int i = 0; i < tabla.Columns.Count; i++)
                {
                    string contenido = rows[i].ToString();

                    if (contenido == "")
                    {
                        rows[i] = "-";
                    }
                }
            }

            return(tabla);
        }