Example #1
0
        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));
        }
Example #2
0
        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"));
        }
Example #3
0
        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"));
        }