示例#1
0
        public ActionResult Desinscription(int id)
        {
            var infoVM = new InfoViewModel
            {
                TitrePage = "Désinscription de la lettre d'information d'Hermétistes"
            };
            Utilisateurs u = db.Utilisateurs.Find(id);

            if (u == null)
            {
                infoVM.ResumeInfoTitre = "Erreur";
                infoVM.DetailInfo      = "L'utilisateur ayant cherché à se désinscrire n'existe plus.";
            }
            else
            {
                u.InscritLettreInfo = false;
                try
                {
                    db.SaveChanges();
                    infoVM.ResumeInfoTitre = "Désinscription enregistrée.";
                    infoVM.DetailInfo      = u.Prenom + " " + u.Nom + ", vous avez bien été enlevé(e) de notre liste de diffusion.";
                    infoVM.Ajout           = "<p> Si c'est une erreur, vous pouvez vous réinscrire "
                                             + "en cliquant <a href='/Admin/Publipostage/Inscription/" + u.IdUtilisateur + "'> ici</a></p>.";
                }
                catch
                {
                    infoVM.ResumeInfoTitre = "Echec de la désinscription.";
                    infoVM.DetailInfo      = u.Prenom + " " + u.Nom + ", un problème est survenu lors de votre désinscription de notre liste de diffusion.";
                    infoVM.Ajout           = "<p>Nous vous conseillons de réessayer dans quelques instants.</p>";
                }
            }
            return(View("Info", infoVM));
        }
示例#2
0
        public ActionResult Create([Bind(Include = "IdProduit,IdSejour,NbPlaces,DateDepart,Description,Prix")] Produits produits)
        {
            if (ModelState.IsValid)
            {
                db.Produits.Add(produits);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.IdSejour = new SelectList(db.Sejours, "IdSejour", "IdSejour", produits.IdSejour);
            return(View(produits));
        }
示例#3
0
        public ActionResult Create([Bind(Include = "IdHotel,IdVille,Categorie,Description,Photo,Nom")] Hotels hotels)
        {
            if (ModelState.IsValid)
            {
                db.Hotels.Add(hotels);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.IdVille = new SelectList(db.Villes, "idVille", "name", hotels.IdVille);
            return(View(hotels));
        }
        public ActionResult Create([Bind(Include = "IdSejour,IdHotel,Duree")] Sejours sejours)
        {
            var req = db.Sejours.Where(x => x.IdHotel == sejours.IdHotel && x.Duree == sejours.Duree).Any();

            if (ModelState.IsValid && req == false)
            {
                db.Sejours.Add(sejours);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }


            ViewBag.IdHotel = new SelectList(db.Hotels, "IdHotel", "Nom", sejours.IdHotel);
            return(View(sejours));
        }
示例#5
0
        // Ajouter de la description et une photo aux hôtels
        //si on veut rajouter plusieurs photos, faut il créer une table photo??

        private static int ajoutPhotosEtDescription()
        {
            var list = db.Hotels.Where(h => h.Photo == null || h.Description == null).ToList();

            Console.WriteLine(list.Count);

            var listPic = Directory.GetFiles(PicDir).Select(x => new FileInfo(x).Name).ToList();

            Console.WriteLine(listPic.Count);
            var stackPic = new Stack <string>();
            var cpt      = 0;

            foreach (var item in listPic)
            {
                stackPic.Push(item);
            }

            foreach (var hotel in list)
            {
                hotel.Description = Descrip;
                hotel.Photo       = stackPic.Pop();
                Console.Write(" {0} -", cpt++);
                Console.WriteLine();
            }
            db.SaveChanges();
            return(list.Count);
        }
示例#6
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);



                if (result.Succeeded)
                {
                    var db   = new Form115Entities();
                    var idtt = new Utilisateurs {
                        Nom = model.Nom, Prenom = model.Prenom, InscritLettreInfo = model.Reponse, IdAspNetUsers = user.Id
                    };
                    db.Utilisateurs.Add(idtt);
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // Pour plus d'informations sur l'activation de la confirmation du compte et la réinitialisation du mot de passe, consultez http://go.microsoft.com/fwlink/?LinkID=320771
                    // Envoyer un message électronique avec ce lien
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirmez votre compte", "Confirmez votre compte en cliquant <a href=\"" + callbackUrl + "\">ici</a>");

                    db.SaveChanges();
                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire
            return(View(model));
        }
        public ActionResult Create([Bind(Include = "IdPromo,IdHotel,DateDebut,DateFin,Valeur")] Promotions promotions)
        {
            if (ModelState.IsValid)
            {
                Hotels hotels = db.Hotels.Find(promotions.IdHotel);
                try
                {
                    hotels.ajouterPromotion(db, promotions);
                }
                catch (Exception)
                {
                    ViewBag.IdHotel       = new SelectList(db.Hotels, "IdHotel", "Nom");
                    ViewBag.MessageErreur = "Impossible d'ajouter cette promotion car elle chevauche une promotion existante.";
                    return(View(promotions));
                }
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.IdHotel = new SelectList(db.Hotels, "IdHotel", "Nom", promotions.IdHotel);
            return(View(promotions));
        }
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var db = new Form115Entities();

            var ap = filterContext.ActionParameters.First();

            var ht = new HotelTracking
            {
                DateHT  = DateTime.Now,
                IdHotel = (int)ap.Value
            };

            db.HotelTracking.Add(ht);

            db.SaveChanges();
        }
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var db = new Form115Entities();

            // Accès au paramètre : id vaut IdHotel
            var ap = filterContext.ActionParameters.First();
            // var parmName = ap.Key // normalement id
            // var paramValue = (int)ap.Value;

            var ht = new HotelTracking
            {
                DateHT  = DateTime.Now,
                IdHotel = (int)ap.Value
            };

            db.HotelTracking.Add(ht);

            db.SaveChanges();
        }
        public ActionResult ConfirmerReservation(ReservationViewModel rvm)
        {
            //récupérer l'identifiant utilisateur de la personne connectée

            var user = db.Utilisateurs.Where(i => i.IdAspNetUsers == rvm.IdUtilisateur).Select(x => x.IdUtilisateur).FirstOrDefault();

            var ajout = new Reservations {
                IdProduit       = rvm.IdProduit,
                Quantity        = rvm.Quantity,
                IdUtilisateur   = user,
                DateReservation = DateTime.Now
            };

            db.Reservations.Add(ajout);


            db.SaveChanges();

            return(View("Confirmation", rvm));
        }
示例#11
0
        public ActionResult Comment(CommentViewModel cvm, int id)
        {
            // TODO debut : problème avec le GetUSerId ici
            // TODO tester mlodèle + règles métiers sur entrée utilisateurs
            // + vérifier enrigtrement BDD pour afficher éventuellement petit message
            var user        = UserManager.FindById(User.Identity.GetUserId());
            var commentaire = new Commentaires
            {
                IdHotel       = id,
                IdUtilisateur = _db.Utilisateurs.Where(u => u.IdAspNetUsers == user.Id)
                                .Select(u => u.IdUtilisateur)
                                .FirstOrDefault(),
                Titre                  = cvm.Titre,
                Commentaire            = cvm.Commentaire,
                DateCommentaire        = DateTime.Now,
                IdCommentaireReference = cvm.IdCommentaire
            };

            _db.Commentaires.Add(commentaire);
            _db.SaveChanges();

            return(RedirectToAction("Details", new { id = id }));
        }