예제 #1
0
        public void CatAgrupador_ConsultaLista(ref List <Agrupador> List, String Conexion)
        {
            try
            {
                CD_Datos      cd_datos = new CD_Datos(Conexion);
                SqlDataReader dr       = null;

                SqlCommand sqlcmd = cd_datos.GenerarSqlCommand("SpCatAgrupadorEspecial_Lista", ref dr);

                Agrupador ag;
                while (dr.Read())
                {
                    ag                = new Agrupador();
                    ag.Id_Agp         = Convert.ToInt32(dr["Id_Agp"]);
                    ag.Ag_Descripcion = dr["Ag_Descripcion"].ToString();

                    List.Add(ag);
                }

                dr.Close();

                cd_datos.LimpiarSqlcommand(ref sqlcmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        public ActionResult GerarNuvemDePalavras(string universidade)
        {
            vmAgrup = new ViewModelAgrupador();
            var Agrupador = new Agrupador();

            vmAgrup.nuvemPalavras.Palavras = Agrupador.BuscarTermosPorUniversidade(universidade);
            ViewBag.Title = universidade;
            return(View("NuvemPalavras", vmAgrup.nuvemPalavras));
        }
        private void Guardar()
        {
            try
            {
                Agrupador       ag          = new Agrupador();
                CN_CatAgrupador cn_ag       = new CN_CatAgrupador();
                Sesion          sesion      = (Sesion)Session["Sesion" + Session.SessionID];
                int             Verificador = 0;
                if (this.HdId_Agp.Value != "")
                {
                    ag.Id_Agp         = int.Parse(this.HdId_Agp.Value);
                    ag.Ag_Descripcion = this.txtDescripcion2.Text.Trim();

                    cn_ag.CatAgrupador_Modificar(ag, ref Verificador, sesion.Emp_Cnx);


                    if (Verificador == -1)
                    {
                        Alerta("Los datos se modificaron correctamente");
                    }
                    else if (Verificador == -2)
                    {
                        Alerta("Ya existe un agrupador con la misma descripcion");
                    }
                    else
                    {
                        Alerta("Error inesperado al tratar de guardar el registro");
                    }
                }
                else
                {
                    ag.Ag_Descripcion = this.txtDescripcion2.Text.Trim();
                    cn_ag.CatAgrupador_Guardar(ag, ref Verificador, sesion.Emp_Cnx);

                    if (Verificador == -1)
                    {
                        Alerta("Los datos se guardaron correctamente");
                    }
                    else if (Verificador == -2)
                    {
                        Alerta("Ya existe un agrupador con la misma descripcion");
                    }
                    else
                    {
                        Alerta("Error inesperado al tratar de guardar el registro");
                    }
                }

                LimpiarCampos();
                rgAgrupador.Rebind();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #4
0
        static void Main(string[] args)
        {
            List <int> myLista = new List <int>()
            {
                1, 3, 2, 5, 2, 1, 6
            };
            IEnumerator <int> myEnumerator = myLista.GetEnumerator();

            Console.WriteLine(myEnumerator.Current);
            Agrupador <int, bool> myAgrupador = new Agrupador <int, bool>();

            int[]    numbers = new int[] { 2, 4, 5, 7, 9, 10, 14, 132 };
            Person[] persons = new Person[] {
                new Person("Juan", 20),
                new Person("Ana", 19),
                new Person("Alberto", 23),
                new Person("Carlos", 20),
                new Person("Chucho", 19),
                new Person("Maria", 18)
            };



            Console.WriteLine("Agrupando pares e impares...-----------------------------");
            Print <int, bool>(myAgrupador.Agrupa(numbers, new ParitySelector()));
            Console.WriteLine();



            Agrupador <int, int> otroAgrupador = new Agrupador <int, int>();

            Console.WriteLine("Agrupando por cantidad de digitos...-----------------------------");
            Print <int, int>(otroAgrupador.Agrupa(numbers, new NumerOfDigitsSelector()));
            Console.WriteLine();



            Agrupador <Person, char> myOtro = new Agrupador <Person, char>();

            Console.WriteLine("Agrupando por primera letra...-----------------------------");
            Print <Person, char>(myOtro.Agrupa(persons, new FirstLetterSelector()));
            Console.WriteLine();



            Agrupador <Person, int> otroMas = new Agrupador <Person, int>();

            Console.WriteLine("Agrupando por edad...-----------------------------");
            Print <Person, int>(otroMas.Agrupa(persons, new AgeSelector()));
            Console.WriteLine();



            Console.ReadLine();
        }
예제 #5
0
        private void IniciarCargado()
        {
            agrupadoresPrincipales = new List <Agrupador>();
            MostrarMensaje("Cargando karaoke...");
            Agrupador karaoke = CargarContenido("KARAOKE", ElementoMultimedia.TipoElementoMultimedia.Karaoke);

            if (karaoke.AgrupadoresHijos.Count > 0)
            {
                karaoke.ImagenTexto     = @"Imagenes\categoria_karaoke.png";
                karaoke.NombreAgrupador = "KARAOKE";
                agrupadoresPrincipales.Add(karaoke);
            }
            MostrarMensaje("Cargando música...");
            Agrupador musica = CargarContenido("MUSICA", ElementoMultimedia.TipoElementoMultimedia.Musica);

            if (musica.AgrupadoresHijos.Count > 0)
            {
                musica.ImagenTexto     = @"Imagenes\categoria_musica.png";
                musica.NombreAgrupador = "MUSICA";
                agrupadoresPrincipales.Add(musica);
            }
            MostrarMensaje("Cargando videos...");
            Agrupador videos = CargarContenido("VIDEOS", ElementoMultimedia.TipoElementoMultimedia.Video);

            if (videos.AgrupadoresHijos.Count > 0)
            {
                videos.ImagenTexto     = @"Imagenes\categoria_video.png";
                videos.NombreAgrupador = "VIDEOS";
                agrupadoresPrincipales.Add(videos);
            }

            //////MostrarMensaje("Comprobando conexión a internet...");
            //////double velocidadInternet = Herramientas.Net.Internet.ObtenerVelocidadInternet();
            //////String mensajeInternet = "Velocidad actual: " + velocidadInternet + " Mbps, ";
            //////if (velocidadInternet > 0 && velocidadInternet < 0.5)
            //////    mensajeInternet += " conexión insuficiente...";
            //////else if (velocidadInternet == 0)
            //////    mensajeInternet = "No hay conexión a internet...";
            //////MostrarMensaje(mensajeInternet);
            //////Thread.Sleep(1500);
            //////if (velocidadInternet > 0.5)
            //////{
            //////    MostrarMensaje("Agregando acceso a YouTube...");
            //////    Agrupador youtube = CargarContenido("YOUTUBE", ElementoMultimedia.TipoElementoMultimedia.YouTube);
            //////    agrupadoresPrincipales.Add(youtube);
            //////}


            //agrupadoresPrincipales[0].ImagenTexto = @"Imagenes\categoria_karaoke.png";
            //agrupadoresPrincipales[0].NombreAgrupador = "KARAOKE";
            //agrupadoresPrincipales[1].ImagenTexto = @"Imagenes\categoria_musica.png";
            //agrupadoresPrincipales[1].NombreAgrupador = "MUSICA";
            //agrupadoresPrincipales[2].ImagenTexto = @"Imagenes\categoria_video.png";
            //agrupadoresPrincipales[2].NombreAgrupador = "VIDEOS";
        }
 public void CapClienteBloque_CteInsertar(Agrupador Ag, ref int Verificador, string Conexion)
 {
     try
     {
         CD_CatAgrupador cd_ag = new CD_CatAgrupador();
         cd_ag.CapClienteBloque_CteInsertar(Ag, ref Verificador, Conexion);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public void CatAgrupador_Modificar(Agrupador ag, ref int Verificador, string Conexion)
 {
     try
     {
         CD_CatAgrupador cd_Ag = new CD_CatAgrupador();
         cd_Ag.CatAgrupador_Modificar(ag, ref Verificador, Conexion);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        private void ConsultarClientes()
        {
            try
            {
                if (this.TxtId_Cd.Text == string.Empty)
                {
                    Alerta("Seleccione un CDI");
                    return;
                }

                if (this.TxtId_Cte.Text == string.Empty)
                {
                    Alerta("Ingrese el numero de cliente");
                    return;
                }


                CN_CatAgrupador cn_ag        = new CN_CatAgrupador();
                Agrupador       Ag           = new Agrupador();
                Sesion          sesion       = (Sesion)Session["Sesion" + Session.SessionID];
                int             Verificador  = 0;
                int             Verificador2 = 0;

                cn_ag.CapClienteBloque_Consultar(int.Parse(this.TxtId_Cte.Text), int.Parse(this.TxtId_Cd.Text), ref Verificador, ref Verificador2, ref Ag, sesion.Emp_Cnx);

                if (Verificador == -2)
                {
                    Alerta("El cliente <b>" + this.TxtId_Cte.Text + "</b> esta en la lista de desbloqueo por período, no se puede desbloquear permanentemente");
                    this.TxtId_Cte.Text = string.Empty;
                }
                else
                {
                    if (Verificador2 == -1)
                    {
                        this.TxtCte.Text         = Ag.Cte_Nombre;
                        this.ChkBloquear.Checked = Ag.Cte_NoBloquear;

                        this.TxtId_Cd.Enabled  = false;
                        this.CmbId_Cd.Enabled  = false;
                        this.TxtId_Cte.Enabled = false;
                    }
                    else
                    {
                        Alerta("El cliente no existe, por favor revise la información");
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void ConsultarClientes()
        {
            try
            {
                if (this.TxtId_Cd.Text == string.Empty)
                {
                    Alerta("Seleccione un CDI");
                    return;
                }

                if (this.TxtId_Cte.Text == string.Empty)
                {
                    Alerta("Ingrese el numero de cliente");
                    return;
                }


                CN_CatAgrupador cn_ag       = new CN_CatAgrupador();
                Agrupador       Ag          = new Agrupador();
                Sesion          sesion      = (Sesion)Session["Sesion" + Session.SessionID];
                int             Verificador = 0;

                cn_ag.CatAgrupador_CteConsultar(int.Parse(this.TxtId_Cte.Text), int.Parse(this.TxtId_Cd.Text), ref Verificador, ref Ag, sesion.Emp_Cnx);

                if (Verificador == 0)
                {
                    Alerta("El cliente no existe, por favor revise la información");
                    //LimpiarCampos();
                }
                else
                {
                    this.TxtCte.Text = Ag.Cte_Nombre;
                    if (Ag.Id_Agp != -1)
                    {
                        this.TxtId_Agp.Text          = Ag.Id_Agp.ToString();
                        this.CmbId_Agp.SelectedValue = Ag.Id_Agp.ToString();
                        this.CmbId_Agp.Text          = Ag.Ag_Descripcion;
                    }

                    this.TxtId_Cd.Enabled  = false;
                    this.CmbId_Cd.Enabled  = false;
                    this.TxtId_Cte.Enabled = false;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void Guardar()
        {
            try
            {
                if (this.TxtId_Cd.Text == string.Empty)
                {
                    Alerta("Seleccione un CDI");
                    return;
                }

                if (this.TxtId_Cte.Text == string.Empty)
                {
                    Alerta("Ingrese el número de cliente");
                    return;
                }

                if (this.TxtId_Agp.Text == string.Empty)
                {
                    Alerta("Seleccione un agrupador");
                }


                CN_CatAgrupador cn_ag       = new CN_CatAgrupador();
                Agrupador       Ag          = new Agrupador();
                Sesion          sesion      = (Sesion)Session["Sesion" + Session.SessionID];
                int             Verificador = 0;

                Ag.Id_Cd  = int.Parse(this.TxtId_Cd.Text);
                Ag.Id_Cte = int.Parse(this.TxtId_Cte.Text);
                Ag.Id_Agp = int.Parse(this.TxtId_Agp.Text);

                cn_ag.CatAgrupador_CteInsertar(Ag, ref Verificador, sesion.Emp_Cnx);

                if (Verificador == -1)
                {
                    LimpiarCampos();
                    Alerta("Los datos se guardaron correctamente");
                }
                else
                {
                    Alerta("Error al intentar guardar la infromación");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #11
0
        public void CapClienteBloque_CteInsertar(Agrupador Ag, ref int Verificador, string Conexion)
        {
            try
            {
                CD_Datos cd_datos = new CD_Datos(Conexion);

                string[] Parametros = { "@Id_Cd", "@Id_Cte", "@Bloqueo" };
                object[] Valores    = { Ag.Id_Cd, Ag.Id_Cte, Ag.Cte_NoBloquear };

                SqlCommand sqlcmd = cd_datos.GenerarSqlCommand("SpCatCliente_BloqueoInsertar", ref Verificador, Parametros, Valores);

                cd_datos.LimpiarSqlcommand(ref sqlcmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #12
0
        public void CatAgrupador_Modificar(Agrupador ag, ref int Verificador, string Conexion)
        {
            try
            {
                CD_Datos cd_datos = new CD_Datos(Conexion);

                string[] Parametros = { "@Id_Agp", "@AgDescripcion" };
                object[] Valores    = { ag.Id_Agp, ag.Ag_Descripcion };

                SqlCommand sqlcmd = cd_datos.GenerarSqlCommand("SpCatAgrupadorEspecial_Modificar", ref Verificador, Parametros, Valores);

                cd_datos.LimpiarSqlcommand(ref sqlcmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #13
0
        static void Main(string[] args)
        {
            List <Persona> listaPersonas = new List <Persona>();

            listaPersonas.Add(new Persona("Carlos", new DateTime(2005, 3, 2)));
            listaPersonas.Add(new Persona("Juan", new DateTime(2005, 12, 5)));
            listaPersonas.Add(new Persona("Jose", new DateTime(1999, 4, 8)));

            Agrupador <Persona> myAgrupador = new Agrupador <Persona>();

            IEnumerable <IGrupo <Persona> > enumerable = myAgrupador.Agrupa(listaPersonas, new LongitudNombreSelector());

            foreach (var el in enumerable)
            {
                Console.WriteLine(el.Llave);
                foreach (var otherel in el)
                {
                    Console.WriteLine(otherel.Nombre);
                }
            }
        }
예제 #14
0
        public ActionResult Index()
        {
            vmAgrup = new ViewModelAgrupador();

            var Agrupador = new Agrupador();

            vmAgrup.ListaDadosAgrupadosPorUniversidade = Agrupador.AgruparDadosPorUniversidade();
            //vmAgrup.ListaDadosAgrupadosPorUniversidade = new List<DadosAgrupadosPorUniversidade>();

            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 1, Instituicao = "PUC MINAS", Porcentagem = "72", TotalPosts = 345, TotalPostsPositivos = 247 });
            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 2, Instituicao = "CEFET", Porcentagem = "69", TotalPosts = 48, TotalPostsPositivos = 33 });
            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 3, Instituicao = "UNA", Porcentagem = "64", TotalPosts = 22, TotalPostsPositivos = 14 });
            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 4, Instituicao = "ESTÁCIO", Porcentagem = "62", TotalPosts = 34, TotalPostsPositivos = 21 });
            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 5, Instituicao = "SENAC", Porcentagem = "60", TotalPosts = 48, TotalPostsPositivos = 29 });
            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 6, Instituicao = "UNOPAR", Porcentagem = "58", TotalPosts = 12, TotalPostsPositivos = 7 });
            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 7, Instituicao = "UNICESUMAR", Porcentagem = "58", TotalPosts = 26, TotalPostsPositivos = 15 });
            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 8, Instituicao = "UNIPAC", Porcentagem = "52", TotalPosts = 31, TotalPostsPositivos = 16 });
            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 9, Instituicao = "PITÁGORAS", Porcentagem = "48", TotalPosts = 80, TotalPostsPositivos = 38 });
            //vmAgrup.ListaDadosAgrupadosPorUniversidade.Add(new DadosAgrupadosPorUniversidade() { Rank = 10, Instituicao = "UNINCOR", Porcentagem = "45", TotalPosts = 11, TotalPostsPositivos = 5 });

            return(View(vmAgrup));
        }
예제 #15
0
 public void AsignarAgrupador(Agrupador agrupador)
 {
     AgrupadorAsignado = agrupador;
     txt_titulo.Text   = agrupador.NombreAgrupador;
     txt_codigo.Text   = agrupador.Codigo.ToString("0000");
     //img_fondoDisco.Source = agrupador.Imagen;
     if (agrupador.ImagenTexto == null || agrupador.ImagenTexto.Trim().Equals(""))
     {
         img_fondoDisco.Source = Herramientas.WPF.Utilidades.BitmapAImageSource(Principal.disco);
     }
     else
     {
         img_fondoDisco.Source = Herramientas.WPF.Utilidades.ArchivoAImageSource(agrupador.ImagenTexto);
     }
     lb_pistas.Items.Clear();
     if (agrupador.ElementosMultimedia != null && agrupador.ElementosMultimedia.Count > 0)
     {
         lb_pistas.Items.Add(0.ToString("00") + " - Reproducir todo".ToUpper());
         foreach (ElementoMultimedia elemento in agrupador.ElementosMultimedia)
         {
             lb_pistas.Items.Add(elemento.Codigo.ToString("00") + " - " + elemento.Titulo);
         }
     }
 }
 public void CapClienteBloque_Consultar(int Id_Cte, int Id_Cd, ref int Verificador, ref int Verificador2, ref Agrupador Ag, string Conexion)
 {
     try
     {
         CD_CatAgrupador cd_ag = new CD_CatAgrupador();
         cd_ag.CapClienteBloque_Consultar(Id_Cte, Id_Cd, ref Verificador, ref Verificador2, ref Ag, Conexion);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #17
0
        public void CatAgrupador_CteConsultar(int Id_Cte, int Id_Cd, ref int Verificador, ref Agrupador Ag, string Conexion)
        {
            try
            {
                CD_Datos      cd_datos = new CD_Datos(Conexion);
                SqlDataReader dr       = null;

                string[] Parametros = { "@Id_Cte", "@Id_Cd" };
                object[] Valores    = { Id_Cte, Id_Cd };

                SqlCommand sqlcmd = cd_datos.GenerarSqlCommand("SpCatCliente_ApEspecialConsultar", ref dr, Parametros, Valores);

                if (dr.Read())
                {
                    Verificador       = 1;
                    Ag.Id_Cte         = Convert.ToInt32(dr["Id_Cte"]);
                    Ag.Cte_Nombre     = dr["Cte_Nombre"].ToString();
                    Ag.Id_Agp         = Convert.ToInt32(dr["Id_Agp"]);
                    Ag.Ag_Descripcion = dr["Ag_Descripcion"].ToString();
                }
                else
                {
                    Verificador = 0;
                }

                dr.Close();

                cd_datos.LimpiarSqlcommand(ref sqlcmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #18
0
        public void CapClienteBloque_Consultar(int Id_Cte, int Id_Cd, ref int Verificador, ref int Verificador2, ref Agrupador Ag, string Conexion)
        {
            try
            {
                CD_Datos cd_datos = new CD_Datos(Conexion);
                DataSet  ds       = null;

                string[] Parametros = { "@Id_Cd", "@Id_Cte" };
                object[] Valores    = { Id_Cd, Id_Cte };

                SqlCommand sqlcmd = cd_datos.GenerarSqlCommand("SpCatCliente_BloqueoConsultar", ref ds, Parametros, Valores);

                DataTable dt = ds.Tables[0];


                foreach (DataRow row in dt.Rows)
                {
                    Verificador = Convert.ToInt32(row["Verificador"]);
                }



                if (Verificador != -2)
                {
                    DataTable dt2 = ds.Tables[1];

                    if (dt2.Rows.Count > 0)
                    {
                        Verificador2 = -1;
                        foreach (DataRow row in dt2.Rows)
                        {
                            Ag.Cte_Nombre     = row["Cte_Nombre"].ToString();
                            Ag.Cte_NoBloquear = Convert.ToBoolean(row["Cte_NoBloquear"]);
                        }
                    }
                    else
                    {
                        Verificador2 = -2;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #19
0
        private Agrupador CargarContenido(String nombre, ElementoMultimedia.TipoElementoMultimedia tipo)
        {
            Agrupador principalAgrupador = new Agrupador();

            principalAgrupador.AgrupadoresHijos = new List <Agrupador>();
            try
            {
                if (tipo == ElementoMultimedia.TipoElementoMultimedia.YouTube)
                {
                    Agrupador agrupadorYoutube = new Agrupador();
                    agrupadorYoutube.NombreAgrupador = "YOUTUBE";
                    agrupadorYoutube.ImagenTexto     = @"Imagenes\categoria_youtube.png";

                    agrupadorYoutube.AgrupadoresHijos = new List <Agrupador>();
                    Agrupador vidY = new Agrupador();
                    vidY.NombreAgrupador = "VIDEOS YOUTUBE";
                    Agrupador muY = new Agrupador();
                    muY.NombreAgrupador = "MUSICA YOUTUBE";
                    Agrupador karY = new Agrupador();
                    karY.NombreAgrupador = "KARAOKE YOUTUBE";

                    vidY.Siguiente = muY;
                    muY.Siguiente  = karY;

                    agrupadorYoutube.AgrupadoresHijos.Add(vidY);
                    agrupadorYoutube.AgrupadoresHijos.Add(muY);
                    agrupadorYoutube.AgrupadoresHijos.Add(karY);

                    return(agrupadorYoutube);
                }
                Variable var = Compartidos.ObtenerVariablesContenido();
                var.LeerArchivo();
                principalAgrupador.NombreAgrupador = nombre;

                int gruposKaraoke = var.ObtenerValorVariable <int>(nombre + "_GRUPOS");


                for (int i = 0; i < gruposKaraoke; i++)
                {
                    String    nombreGrupo = var.ObtenerValorVariable <String>(nombre + "_GRUPOS_" + i);
                    Agrupador grupo       = new Agrupador();
                    grupo.NombreAgrupador  = nombreGrupo;
                    grupo.AgrupadorPadre   = principalAgrupador;
                    grupo.AgrupadoresHijos = new List <Agrupador>();

                    int agrupadores = var.ObtenerValorVariable <int>(nombre + "_GRUPOS_" + i + "_AGRUPADORES");

                    Agrupador anterior = null;

                    for (int j = 0; j < agrupadores; j++)
                    {
                        String nombreAgrupador = var.ObtenerValorVariable <String>(nombre + "_GRUPOS_" + i + "_AGRUPADORES_" + j);
                        Bitmap imagenAgrupador = null;
                        String rutaImagen      = var.ObtenerValorVariable <String>(nombre + "_GRUPOS_" + i + "_AGRUPADORES_" + j + "_IMAGEN");
                        try
                        {
                            imagenAgrupador = new Bitmap(rutaImagen);
                        }
                        catch
                        {
                            imagenAgrupador = disco;
                        }
                        int       numeroPistas = var.ObtenerValorVariable <int>(nombre + "_GRUPOS_" + i + "_AGRUPADORES_" + j + "_PISTAS");
                        Agrupador agrupador    = new Agrupador();
                        agrupador.NombreAgrupador = nombreAgrupador.ToUpper();
                        //agrupador.Imagen = (ImageSource)Herramientas.WPF.Utilidades.FileTOImageSource(rutaImagen); //Herramientas.WPF.Utilidades.BitmapAImageSource(imagenAgrupador);
                        agrupador.AgrupadorPadre      = grupo;
                        agrupador.ImagenTexto         = rutaImagen;
                        agrupador.ElementosMultimedia = new List <ElementoMultimedia>();
                        agrupador.Codigo = j + 1;
                        if (anterior != null)
                        {
                            anterior.Siguiente = agrupador;
                        }
                        for (int k = 0; k < numeroPistas; k++)
                        {
                            String             pista    = var.ObtenerValorVariable <String>(nombre + "_GRUPOS_" + i + "_AGRUPADORES_" + j + "_PISTA_" + k);
                            ElementoMultimedia elemento = new ElementoMultimedia();
                            elemento.AgrupadorContiene = agrupador;
                            elemento.Titulo            = System.IO.Path.GetFileNameWithoutExtension(pista).ToUpper();
                            elemento.URL          = pista;
                            elemento.TipoElemento = tipo;
                            elemento.Codigo       = k + 1;
                            agrupador.ElementosMultimedia.Add(elemento);
                        }
                        agrupador.Anterior = anterior;
                        anterior           = agrupador;

                        grupo.AgrupadoresHijos.Add(agrupador);
                    }
                    grupo.AgrupadoresHijos[0].Anterior = grupo.AgrupadoresHijos[grupo.AgrupadoresHijos.Count - 1];
                    grupo.AgrupadoresHijos[grupo.AgrupadoresHijos.Count - 1].Siguiente = grupo.AgrupadoresHijos[0];

                    principalAgrupador.AgrupadoresHijos.Add(grupo);
                }
                //corrigiendo ultimos y primeros
                //foreach (Agrupador grupo in principalAgrupador.AgrupadoresHijos)
                //{
                //    grupo.AgrupadoresHijos[0].Anterior = null;
                //    grupo.AgrupadoresHijos[grupo.AgrupadoresHijos.Count - 1].Siguiente = null;
                //}
            }
            catch
            {
            }
            return(principalAgrupador);
        }