예제 #1
0
        async Task ReplaceUrlStyle()
        {
            // Replace style url of all class .image (background-image: with directory version)
            string result = await EvaluateJavascript("(function() { var arrayFiles = []; for(var i in document.styleSheets) { if (document.styleSheets[i].href != undefined) { var fileWithSlash = document.styleSheets[i].href.substring(document.styleSheets[i].href.lastIndexOf('/')); var file = fileWithSlash.substr(1, fileWithSlash.length); arrayFiles.push(file); } } return arrayFiles.join(';'); })();");

            // Remove quotes
            result = result.Trim('"');

            string[] files = result.Split(';');
            foreach (string file in files)
            {
                // Find correct ressource object
                RessourceModel ressource = App.listRessources.Find(r => r.File == file);

                if (ressource != null)
                {
                    string path      = Path.Combine((Application.Current as App).localAppData, ressource.Version.ToString(), "ressources", file);
                    bool   doesExist = File.Exists(path);

                    var js = "document.querySelector(\"link[href='" + file + "']\").href = \"" + path + "\";";

                    await EvaluateJavascript(js);
                }
            }
        }
예제 #2
0
        public IActionResult Creer([Bind("Nom,Contenu")] RessourceModel ressource, int mid)
        {
            logger.LogDebug($"POST /Ressources/Creer?mid={mid}");

            if (!ModelState.IsValid)
            {
                return(View(ressource));                     // Invalid inputs
            }
            var matiere = context.Matieres.FirstOrDefault(m => m.Id == mid);

            if (matiere == null)
            {
                return(NotFound());
            }

            ressource.Contenu ??= "";
            ressource.Matiere = matiere;
            ressource.Rendu   = markdownParser.Render(ressource.Contenu);
            ressource.Matiere.Ressources.Add(ressource);
            context.Sauvegarder();

            logger.LogInformation("User {user} created ressource \"{ressource}\".", signInManager.Context.User.Identity.Name, ressource.NomComplet);

            return(RedirectToAction("Index", "Matieres", new { id = ressource.MatiereId }));
        }
예제 #3
0
        public IActionResult Editer([Bind("Id,Nom,Contenu,MatiereId,Created,Modified")] RessourceModel ressource, int id)
        {
            logger.LogDebug($"POST /Ressources/Editer?id={id}");

            if (id != ressource.Id)
            {
                return(NotFound());                    // Bad ressource id
            }
            if (!context.Ressources.Any(r => r.Id == id))
            {
                return(NotFound());                                          // Ressource doesn't exist
            }
            if (!ModelState.IsValid)
            {
                return(View(ressource));                     // Invalid inputs
            }
            ressource.Contenu ??= "";
            ressource.Rendu = markdownParser.Render(ressource.Contenu);
            context.EditerRessource(ressource);
            context.Sauvegarder();

            logger.LogInformation("User {user} updated ressource \"{ressource}\".", signInManager.Context.User.Identity.Name, ressource.NomComplet);

            return(RedirectToAction("Index", "Matieres", new { id = ressource.MatiereId }));
        }
예제 #4
0
        public ActionResult deleteRessource(RessourceModel res)
        {
            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri("http://localhost:18080");
            client.PutAsJsonAsync <RessourceModel>("map-web/map/ressource/archiver", res).ContinueWith((e => e.Result.EnsureSuccessStatusCode()));
            return(RedirectToAction("Index"));
        }
예제 #5
0
        public ActionResult Delete(int id, RessourceModel cm)
        {
            Ressource c = new Ressource();

            c = cs.Get(t => t.id == id);
            cs.Delete(c);
            cs.Commit();
            return(RedirectToAction("Index"));
        }
예제 #6
0
        // GET: Ressource/Details/5
        public ActionResult Details(int id)
        {
            Ressource      cm = new Ressource();
            RessourceModel c  = new RessourceModel();

            cm         = cs.Get(t => t.id == id);
            c.nom      = cm.nom;
            c.quantite = cm.quantite;
            c.type     = cm.type;
            c.etat     = cm.etat;
            ViewBag.id = cm.id;


            return(View(c));
        }
예제 #7
0
        public ActionResult Edit(int id, RessourceModel cm)
        {
            Ressource c = new Ressource();

            c          = cs.Get(t => t.id == id);
            c.nom      = cm.nom;
            c.quantite = cm.quantite;
            c.type     = cm.type;


            c.etat = cm.etat;

            cs.Update(c);
            cs.Commit();
            return(RedirectToAction("Index"));
        }
예제 #8
0
        public ActionResult Create(RessourceModel cm)
        {
            Ressource c = new Ressource();

            c.id       = cm.id;
            c.nom      = cm.nom;
            c.quantite = cm.quantite;
            c.type     = cm.type;
            c.etat     = cm.etat;



            cs.Add(c);
            cs.Commit();
            return(View("Index", "~/Views/Shared/_CustomerLayout.cshtml"));
        }
예제 #9
0
        // GET: Ressource
        public ActionResult Index()
        {
            List <RessourceModel> lc = new List <RessourceModel>();

            foreach (var cm in cs.GetAll())
            {
                RessourceModel c = new RessourceModel();
                c.id = cm.id;

                c.nom = cm.nom;

                c.type     = cm.type;
                c.quantite = cm.quantite;
                c.etat     = cm.etat;
                lc.Add(c);
            }
            return(View(lc));
        }
예제 #10
0
        public void InitRessources(List <Dictionary <string, object> > dico)
        {
            // Iteration content of section
            foreach (Dictionary <string, dynamic> item in dico)
            {
                RessourceModel ressource = new RessourceModel();

                if (item.ContainsKey("action"))
                {
                    ressource.Action = item["action"];
                }

                if (item.ContainsKey("file"))
                {
                    ressource.File = item["file"];
                }

                ressource.Version = 1;

                listRessources.Add(ressource);
            }
        }
예제 #11
0
        public IActionResult Creer(int?mid)
        {
            logger.LogDebug($"GET /Ressources/Creer?mid={mid}");

            if (mid == null)
            {
                return(NotFound());
            }
            var matiere = context.Matieres.FirstOrDefault(m => m.Id == mid);

            if (matiere == null)
            {
                return(NotFound());
            }

            var ressource = new RessourceModel
            {
                MatiereId = matiere.Id
            };

            return(View(ressource));
        }
예제 #12
0
        private static async Task InitializeDbContext(ClassesDbContext context)
        {
            if (context.Classes.Any())
            {
                return;
            }

            var classe = new ClasseModel
            {
                Nom      = "1G",
                Matieres = new()
            };

            var matiere = new MatiereModel
            {
                Nom        = "Anglais",
                Ressources = new(),
                Classe     = classe
            };

            classe.Matieres.Add(matiere);

            var res = new RessourceModel
            {
                Nom     = "Cours numéro 12",
                Contenu = "du blabla",
                Matiere = matiere
            };

            matiere.Ressources.Add(res);

            context.AjouterClasse(classe);

            await context.SaveChangesAsync();
        }
    }
}
예제 #13
0
 public void SupprimerRessource(RessourceModel ressource) => Ressources.Remove(ressource);
예제 #14
0
 public void EditerRessource(RessourceModel ressource) => Ressources.Update(ressource);
예제 #15
0
 public void AjouterRessource(RessourceModel ressource) => Ressources.Add(ressource);