public IActionResult Index(MyFiltersPersonaje filtro)
        {
            IEnumerable <Personaje> lst = null;

            using (var db = new SqlConnection(connection_Sql))
            {
                var sql = "SELECT * FROM Personaje p INNER JOIN Clase c ON c.Cls_Id = p.Cls_Id";

                sql = AgregarFiltrado(sql, filtro);

                lst = db.Query <Personaje, Clase, Personaje>(
                    sql,
                    (personaje, clase) =>
                {
                    personaje.Clase = clase;
                    return(personaje);
                },
                    splitOn: "Cls_Id").Distinct().ToList();
            }

            var model = new PersonajeViewModel();

            model.Personajes = lst;
            model.DropClases = DropClases();
            return(View(model));
        }
        private string AgregarFiltrado(string sql, MyFiltersPersonaje filtro)
        {
            sql += " WHERE ";

            if (!String.IsNullOrWhiteSpace(filtro.Filtro_Nombre))
            {
                sql += $"Persj_Nombre LIKE '%{filtro.Filtro_Nombre}%'";
            }

            if (!String.IsNullOrWhiteSpace(filtro.Filtro_Clase))
            {
                sql += $"AND Cls_Nombre LIKE '{filtro.Filtro_Clase}'";
            }

            if (filtro.Filtro_Lvl != 0)
            {
                sql += $"AND Persj_Lvl = {filtro.Filtro_Lvl}";
            }
            return(sql);
        }