public IActionResult AjoutFestivalier(Festivalier festivalier) { DateTime today = DateTime.Now; var days = (today.Date - festivalier.Birthday.Date).TotalDays; Festival festival = API.Instance.GetFestivalAsync(festivalier.FestivalId).Result; festivalier.IsPublished = false; festival.NbPlacesDispo = festival.NbPlacesDispo - (festivalier.Nb_ParticipantsDT + festivalier.Nb_ParticipantsPT); if (days < 18 * 365) { ModelState.AddModelError("error", "Vous n'êtes pas majeur!!!"); return(AjoutFestivalier(festivalier.FestivalId)); } if (festival.NbPlacesDispo < (festivalier.Nb_ParticipantsDT + festivalier.Nb_ParticipantsPT)) { ModelState.AddModelError("error", "Pas assez de places disponibles ? veuillez en prendre moins!"); return(AjoutFestivalier(festivalier.FestivalId)); } festivalier.Somme = (festivalier.Nb_ParticipantsPT * festival.Montant + festivalier.Nb_ParticipantsDT * festival.Montant * 0.5) * festivalier.NbJours; festivalier.Date_Inscription = DateTime.Now; int drapeau = 0; IEnumerable <Festivalier> Festivaliers = API.Instance.GetFestivaliersAsync().Result; if (festival.NbPlacesDispo > 0) { foreach (var item in Festivaliers) { if (item.Nom == festivalier.Nom) { drapeau++; } } if (ModelState.IsValid && drapeau == 0) { sendMail = new FestivalAPI.Data.SendMail(); string mailSubject = "Inscription au festival " + festival.Nom; string content = "Votre inscripion au festival " + festival.Nom + " a bien été prise en compte vous allez bientôt recevoir un mail de validation de paiement. <br> pour l'instant vous pouvez d'ores et déjà vous connecter sur notre site internet <br> <br> Cordialement <br> <br> A bientôt sur Festi'Normandie."; sendMail.ActionSendMail(festivalier.Login, mailSubject, content); var URI = API.Instance.AjoutFestivalierAsync(festivalier); var URI2 = API.Instance.ModifFestivalAsync(festival); return(RedirectToAction(nameof(Index))); } else if (drapeau != 0) { return(RedirectToAction(nameof(Index))); } } else { return(RedirectToAction(nameof(Index))); } return(View(festivalier)); }
public IActionResult AnnulerConfirmed() { if (HttpContext.Session.GetInt32("ido") == null) { return(null); } Organisateur organisateur = API.Instance.GetOrganisateurAsync((int)HttpContext.Session.GetInt32("ido")).Result; Festival festival = API.Instance.GetFestivalAsync(organisateur.FestivalId).Result; if (festival == null) { return(null); } festival.IsCanceled = true; var uri = API.Instance.ModifFestivalAsync(festival); sendMail = new FestivalAPI.Data.SendMail(); foreach (var festivalier in festival.Festivaliers) { string mailSubject = "Festival Annulé:" + festival.Nom; string content = "Le festival " + festival.Nom + " a été annulé. Nous vos prions de contacter le +33 00 00 00 00 00 pour toute demande remboursement <br> <br> :< br >Cordialement <br> <br> A bientôt sur Festi'Normandie."; sendMail.ActionSendMail(festivalier.Login, mailSubject, content); } return(Redirect("Index")); }
public ActionResult ValiderPaiement(int?id) { if (id != null) { return(Redirect("/Festivals/Festivaliers")); } Festivalier festivalier = API.Instance.GetFestivalierAsync(id).Result; Festival festival = API.Instance.GetFestivalAsync(festivalier.Id).Result; festivalier.InscriptionAccepted = true; var uri = API.Instance.ModifFestivalierAsync(festivalier); sendMail = new FestivalAPI.Data.SendMail(); string mailSubject = "Validation de paiement pour le festival" + festival.Nom; string content = "Votre paiement de ticket pour le festival " + festival.Nom + " a bien été validée. Ci dessous votre facture: <br> <br> Nom:" + festivalier.Prenom + " " + festivalier.Nom + "< br> Nombre de places Demi-Tarif:" + festivalier.Nb_ParticipantsDT + " <br>Nombre de places Plein-Tarif:" + festivalier.Nb_ParticipantsPT + " Nombre de jours:" + festivalier.NbJours + "<br>Tarif-Plein: " + festival.Montant + " < br > Demi-Tarif: " + (festival.Montant / 2) + " < br > Total: " + festivalier.Somme + "< br >Cordialement <br> <br> A bientôt sur Festi'Normandie."; sendMail.ActionSendMail(festivalier.Login, mailSubject, content); return(Redirect("/Festivals/Festivaliers")); }