예제 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Context.User.Identity.GetUserId() != null)
                {
                    System.Diagnostics.Debug.WriteLine("Iniciando");
                    List <Cancion> lst = new List <Cancion>();
                    using (DBManualConnection db = new DBManualConnection())
                    {
                        lst = db.getCanciones(idUsuario: Context.User.Identity.GetUserId());
                    }

                    if (lst.Count != 0)
                    {
                        AlgoritmoGenetico ag = new AlgoritmoGenetico(lst);
                        ag.calcularAptitudPoblacionInicial();
                        List <List <Tag> > lstTagsHijos = new List <List <Tag> >();
                        lstTagsHijos = ag.generarParejas();

                        //Conversion para desplagar los tags en web

                        /*
                         * List<String> tagsCancionesHijas = new List<String>();
                         * String renglonTag = "";
                         * foreach (List<Tag> lstTag in lstTagsHijos)
                         * {
                         *  renglonTag = "";
                         *  foreach (Tag tag in lstTag)
                         *  {
                         *      renglonTag += tag.Nombre + ", ";
                         *  }
                         *  tagsCancionesHijas.Add(renglonTag);
                         * }
                         * grd1.DataSource = tagsCancionesHijas;
                         * grd1.DataBind();
                         */

                        //Obteniendo canciones recomendadas por los tags creados
                        List <Cancion> lstCancionesRecomendadas = new List <Cancion>();
                        foreach (List <Tag> lstTag in lstTagsHijos)
                        {
                            using (DBManualConnection db = new DBManualConnection())
                            {
                                lstCancionesRecomendadas.AddRange(db.obtenerListaCancionesRecomendadas(lstTag));
                            }
                        }
                        List <Cancion> lstCancionesRecomendadasSinRepetir = lstCancionesRecomendadas.GroupBy(x => x.Id).Select(x => x.First()).ToList();
                        //grd2.DataSource = lstCancionesRecomendadasSinRepetir;
                        //grd2.DataBind();
                        rep1.DataSource = lstCancionesRecomendadasSinRepetir;
                        rep1.DataBind();
                    }
                }
            }

            string strGUID = Context.User.Identity.GetUserId();
        }
 protected void rep1_ItemCommand(object source, RepeaterCommandEventArgs e)
 {
     switch (e.CommandName)
     {
     case "escuchar":
         int    idCancion = int.Parse(e.CommandArgument.ToString());
         String idUsuario = Context.User.Identity.GetUserId();
         using (DBManualConnection db = new DBManualConnection())
         {
             db.insertarAsignacionCancion(idUsuario, idCancion);
         }
         ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('Se ecucho la cancion');", true);
         break;
     }
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         if (Context.User.Identity.GetUserId() != null)
         {
             List <Cancion> lst = new List <Cancion>();
             using (DBManualConnection db = new DBManualConnection())
             {
                 lst = db.getCanciones();
             }
             if (lst.Count != 0)
             {
                 rep1.DataSource = lst;
                 rep1.DataBind();
             }
         }
     }
 }