public async Task <IActionResult> Create([Bind("Id,Nom,DepartementId")] Equipe equipe)
        {
            if (ModelState.IsValid)
            {
                _context.Add(equipe);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewData["DepartementId"] = new SelectList(_context.Departement, "Id", "Nom", equipe.DepartementId);
            return(View(equipe));
        }
        public async Task <IActionResult> Create([Bind("Id,Nom")] Departement departement)
        {
            if (HttpContext.Session.GetInt32("_Id") == null)
            {
                return(RedirectToAction("Login", "Compte"));
            }
            else if (HttpContext.Session.GetInt32("_Type") < 3)
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (ModelState.IsValid)
            {
                _context.Add(departement);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(departement));
        }
Esempio n. 3
0
        public async Task <IActionResult> Creation([Bind("Id,Courriel,MotPasse,ConfirmationMotPasse,Nom,Prenom,Telephone,Type,Actif,EquipeId")] Compte compte)
        {
            if (HttpContext.Session.GetInt32("_Id") != null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (_context.Compte.SingleOrDefault(cpt => cpt.Courriel == compte.Courriel) == null)
            {
                compte.Type  = 1;
                compte.Actif = false;
                if (ModelState.IsValid)
                {
                    //_contexte représente la BD, .Add est une méthode de DAO qui a été généré automatiquement
                    //et compte est l'objet créé par le formulaire
                    _context.Add(compte);
                    await _context.SaveChangesAsync();

                    //On redirige ensuite l'utilisateur vers la page de login
                    //On utilise RedirectToAction plutôt que View pour éviter les doubles submit
                    return(RedirectToAction("Login"));
                }
            }
            else
            {
                ViewData["CourrielErreur"] = "Le courriel entré est déja en utilisation";
            }
            //Si la création échoue, on redirige l'utilisateur vers la vue de Creation
            //Cependant, il faut recréer la liste des Id des équipes puisqu'on a perdu le ViewData précédent
            //lorsqu'on a appuyé sur le bouton de soumission.
            ViewData["EquipeId"] = new SelectList(_context.Set <Equipe>(), "Id", "Nom", compte.EquipeId);
            var equipe = _context.Equipe.Include(eq => eq.Departement).SingleOrDefault(eq => eq.Id == compte.EquipeId);

            ViewData["DepartementId"] = new SelectList(_context.Departement, "Id", "Nom", equipe.DepartementId);
            return(View());
        }
Esempio n. 4
0
        public async Task <IActionResult> Creation([Bind("Id,Titre,Description,Etat,Image,Commentaires,AuteurId,DepartementId")] Billet billet, IFormFile fichierPhoto)
        {
            if (ModelState.IsValid)
            {
                // Attribut AuteurId du billet = Id de l'utilisateur en cours
                billet.AuteurId = (int)HttpContext.Session.GetInt32("_Id");
                //L'état d'un billet est initialisé à "Nouveau"
                billet.Etat     = "Nouveau";
                billet.CompteId = null;
                billet.EquipeId = null;


                if (fichierPhoto != null)
                {
                    //Le path du fichier de l'image est construit à partir de l'ID de l'auteur et de l'ID du billet
                    //Cette méthode fonctionne si on ajoute UNE SEULE photo par billet.

                    //On va chercher le ID du dernier billet, pour ajouter l'ID du billet présent dans le path.
                    Billet billetTemp = _context.Billet.LastOrDefault();
                    int    idBilletTemp;
                    //S'il n'y a pas encore de billet dans la BD, on initalise l'ID à 0
                    if (billetTemp == null)
                    {
                        idBilletTemp = 0;
                    }
                    else
                    {
                        idBilletTemp = billetTemp.Id + 1;
                    }
                    var filePath = "/images/billets/billet" + billet.AuteurId + "-" + idBilletTemp + ".jpg";
                    System.IO.Directory.CreateDirectory("./wwwroot/images/billets"); //crée le dossier s'il n'existe pas
                    try
                    {
                        //Copie du fichierPhoto dans notre dossier local
                        using (var stream = new FileStream("./wwwroot/" + filePath, FileMode.Create))
                        {
                            await fichierPhoto.CopyToAsync(stream);
                        }

                        billet.Image = filePath; //copie du chemin d'accès du fichier dans l'attribut Image du billet
                    }
                    catch (FileNotFoundException e)
                    {
                        Console.WriteLine("Erreur : " + e.Message);
                    }
                }

                else
                {
                    billet.Image = "";
                }

                //Enregistrement du billet dans la base de données
                _context.Add(billet);

                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", "Billet"));
            }
            ViewData["AuteurId"]      = new SelectList(_context.Compte, "Id", "Courriel", billet.AuteurId);
            ViewData["DepartementId"] = new SelectList(_context.Departement, "Id", "Id", billet.DepartementId);
            return(View(billet));
        }