public IActionResult Modifier(int?id, ApplicationUser user) { //Get l'événement if (id != null) { Evenement ev = _db.Evenements.Include(a => a.Categorie).Include(a => a.Endroit.Ville).Where(e => e.id == id).FirstOrDefault(); if (ev != null) { CreationEvenementViewModel cev = new CreationEvenementViewModel(); cev.EvenementID = ev.id; cev.Nom = ev.Nom; cev.Description = ev.Description; cev.DateLimite = ev.DateLimite; cev.HeureDebut = ev.HeureDebut; cev.Duree = ev.Duree; cev.Debut = ev.Debut; cev.Fin = ev.Fin; cev.Categorie = ev.Categorie.Nom; cev.AdresseComplete = ev.Endroit.Ad; cev.Ville = ev.Endroit.Ville.Nom; cev.CheminPhoto = ev.CheminPhoto; return(View(cev)); } } return(View()); }
public async Task <IActionResult> Modifier(int id, CreationEvenementViewModel e, ICollection <IFormFile> files) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(HttpContext.User); var nid = await ModifierEvenement(id, e, files, user); return(RedirectToAction("Consulter", new { id = nid })); } return(RedirectToAction("Modifier", id)); }
public async Task <IActionResult> Creer(CreationEvenementViewModel e, ICollection <IFormFile> files) { // Vérifie si le model est valide if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(HttpContext.User); var nid = await CreerEvenement(e, files, user); return(RedirectToAction("Consulter", new { id = nid })); } return(RedirectToAction("Creer", e)); }
public async Task <int> ModifierEvenement(int id, CreationEvenementViewModel e, ICollection <IFormFile> files, ApplicationUser user) { //Modifier l'événement Evenement ev = _db.Evenements.Include(a => a.Endroit.Ville).Where(a => a.id == id).FirstOrDefault(); if (ev != null) { ev.Nom = e.Nom; ev.Description = e.Description; ev.DateLimite = e.DateLimite; ev.HeureDebut = e.HeureDebut; if (e.Duree != null) { ev.Duree = e.Duree; } ev.Debut = e.Debut; ev.Fin = e.Fin; if (ev.Endroit.Ad != e.AdresseComplete || ev.Endroit.Ville.Nom != e.Ville) { if (_db.Adresses.Include(a => a.Ville).Where(a => a.ToString() == e.AdresseComplete).FirstOrDefault() == null) { Adresse ad = new Adresse(); ad.Ad = e.AdresseComplete; if (ev.Endroit.Ville.Nom != e.Ville) { if (_db.Villes.Where(a => a.Nom == e.Ville).FirstOrDefault() == null) { Ville vi = new Ville(); vi.Nom = e.Ville; ad.Ville = vi; } else { ad.Ville = _db.Villes.Where(a => a.Nom == e.Ville).First(); } } else { ad.Ville = _db.Villes.Where(a => a.Nom == e.Ville).First(); } ev.Endroit = ad; } else { ev.Endroit.Ad = _db.Adresses.Where(a => a.Ad == e.AdresseComplete).First().Ad; } } var uploads = Path.Combine(_environment.WebRootPath, "uploads"); //todo : ajouter le dossier du user au path et changer le nom de l'image! verifier si elle existe -> remplace ou renomme? foreach (var file in files) { if (file.Length > 0) { //string nfilename = file.FileName + _db.Users.Where(a => a.Id.ToString() == user).Select(a=> a.UserName); using (var fileStream = new FileStream(Path.Combine(uploads, file.FileName), FileMode.Create)) { string CheminPhoto = "/uploads/" + file.FileName; if (ev.CheminPhoto != CheminPhoto) { if (CheminPhoto != null) { await file.CopyToAsync(fileStream); ev.CheminPhoto = "/uploads/" + file.FileName; } } } } } } _db.SaveChanges(); return(_db.Evenements.Where(a => a.id == ev.id).Select(a => a.id).First()); }
/// <summary> /// Créer un événement /// </summary> /// <param name="e">Le model de la vue de création événement</param> /// <param name="files">Le </param> /// <param name="user"></param> /// <returns></returns> public async Task <int> CreerEvenement(CreationEvenementViewModel e, ICollection <IFormFile> files, ApplicationUser user) { //Creer l'evenement Evenement ev = new Evenement(); ev.Nom = e.Nom; ev.Description = e.Description; ev.Public = e.Public; ev.DateLimite = e.DateLimite; ev.HeureDebut = e.HeureDebut; ev.BilletNecessaire = e.BilletNecessaire; ev.PrixBillet = e.PrixBillet; ev.Debut = e.Debut; ev.Fin = e.Fin; ev.Categorie = _db.Categories.Where(a => a.Nom == e.Categorie).FirstOrDefault(); ev.AgeMinimum = e.AgeMinimum; if (e.Duree != null) { ev.Duree = e.Duree; } Adresse ad = new Adresse(); if (e.AdresseComplete != null) { ad.Ad = e.AdresseComplete; if (e.Ville != null) { string ville = e.Ville; if (_db.Villes.Where(a => a.Nom == ville).FirstOrDefault() != null) { ad.Ville = _db.Villes.Where(a => a.Nom == ville).FirstOrDefault(); } else { Ville vi = new Models.Ville(); vi.Nom = ville; _db.Villes.Add(vi); _db.SaveChanges(); ad.Ville = vi; } } } if (ad != null) { ev.Endroit = ad; } var uploads = Path.Combine(_environment.WebRootPath, "uploads"); //todo : ajouter le dossier du user au path et changer le nom de l'image! verifier si elle existe -> remplace ou renomme? foreach (var file in files) { if (file.Length > 0) { //string nfilename = file.FileName + _db.Users.Where(a => a.Id.ToString() == user).Select(a=> a.UserName); using (var fileStream = new FileStream(Path.Combine(uploads, file.FileName), FileMode.Create)) { await file.CopyToAsync(fileStream); ev.CheminPhoto = "/uploads/" + file.FileName; } } } _db.Evenements.Add(ev); _db.SaveChanges(); //Ajoute le créateur comme participant de role Createur, donc il peux éditer l'événement. Participation part = new Participation(); part.Evenement = _db.Evenements.Include(a => a.Endroit.Ville).Where(a => a.id == ev.id).First(); part.NombreParticipants = 1; part.Participant = user; part.Role = Role.Createur; _db.Participations.Add(part); _db.SaveChanges(); return(_db.Evenements.Where(a => a.id == ev.id).Select(a => a.id).First()); }