Esempio n. 1
0
        public ActionResult Appliquer(Enchere.Models.Encheree en)
        {
            var UserId  = User.Identity.GetUserId();
            var ObjetId = (int)Session["ObjetId"];
            var check   = db.Encherees.Where(a => a.ObjetId == ObjetId && a.UserId == UserId).ToList();

            //if (check.Count<1)
            //{
            var enchere = new Enchere.Models.Encheree();

            enchere.UserId        = UserId;
            enchere.ObjetId       = ObjetId;
            enchere.Message       = en.Message;
            enchere.enchereNiveau = en.enchereNiveau;
            enchere.enchereDate   = DateTime.Now;

            db.Encherees.Add(enchere);
            db.SaveChanges();
            ViewBag.Result = "Envoyer avec success";
            //}
            //else
            //{
            //    ViewBag.Result = "deja participer deja pour cette objet désolé";
            //}
            return(View());
        }
Esempio n. 2
0
        public ActionResult Edit(Enchere.Models.Encheree enchere)
        {
            // TODO: Add update logic here

            if (ModelState.IsValid)
            {
                db.Entry(enchere).State = EntityState.Modified;
                enchere.enchereDate     = DateTime.Now;
                db.SaveChanges();
                return(RedirectToAction("GetObjetByUser"));
            }

            return(View(enchere));
        }
Esempio n. 3
0
        public ActionResult Appliquer(Enchere.Models.Encheree offreEnchere)
        {
            var   UserId  = User.Identity.GetUserId();
            var   ObjetId = (int)Session["ObjetId"];
            Objet objet   = (Objet)db.Objets.Where(a => a.Id == ObjetId).First();

            string message       = "";
            double niveauActuel  = 0;
            bool   bonPrixDepart = false;

            Encheree derniereOffre = offreEnchere;
            DateTime dateLimite    = objet.objetDateInsc.AddDays(objet.objetDureeVente);

            //est-ce qu'il y a deja une offre placé?
            if (db.Encherees.Where(a => a.ObjetId == ObjetId).Any())
            {
                niveauActuel  = db.Encherees.Where(a => a.ObjetId == ObjetId).ToList().Max(m => m.enchereNiveau);
                derniereOffre = db.Encherees.Where(a => a.ObjetId == ObjetId).ToList().MaxBy(m => m.enchereNiveau);
                bonPrixDepart = true;
            }
            //est-ce que la premiere offre est acceptable
            else
            {
                if (offreEnchere.enchereNiveau > objet.objetPrixDepart)
                {
                    bonPrixDepart = true;
                }
            }

            if (offreEnchere.enchereNiveau > niveauActuel && bonPrixDepart &&
                UserId != derniereOffre.UserId && dateLimite > DateTime.Now && objet.UserId != UserId)
            {
                var offre = checkEnchere(offreEnchere, niveauActuel, bonPrixDepart);
                offre.UserId        = UserId;
                offre.ObjetId       = ObjetId;
                offre.Message       = offreEnchere.Message;
                offre.enchereNiveau = offreEnchere.enchereNiveau;
                offre.enchereDate   = DateTime.Now;
                offre.niveauMax     = offreEnchere.niveauMax;


                db.Encherees.Add(offre);
                message = "Bravo! Vous venez de surrenchérir!!";
                db.SaveChanges();

                if (newOffre != null)
                {
                    newOffre.ObjetId     = ObjetId;
                    newOffre.enchereDate = DateTime.Now;
                    newOffre.Message     = "Surrencherissement automatique";

                    db.Encherees.Add(newOffre);
                    message = "Bien Esseyé sauf qu'il va falloir surrenchérir pour gagner!!";
                }
                db.SaveChanges();

                TempData["Result"] = message;

                return(RedirectToAction("Index"));
            }
            else
            {
                if (derniereOffre.UserId == UserId)
                {
                    message = "Vous ne devez pas encherir.Vous détenez déjà l'enchere avec une offre de :" + niveauActuel + "$.";
                }
                else if (dateLimite < DateTime.Now)
                {
                    message = "Erreur!! L'enchere est Expiré depuis " + dateLimite + ".";
                }
                else if (!bonPrixDepart)
                {
                    message = "L'offre que vous venez de faire est inférieure ou égale au prix initial qui est de " + objet.objetPrixDepart + "$";
                }
                else if (objet.UserId == UserId)
                {
                    message = "Vous ne pouvez pas faire une offre sur un objet que vous vendez";
                }
                else
                {
                    message = "Le montant que vous proposé est inférieur ou égal au niveau actuel qui est de " + niveauActuel + " $.";
                }
                ViewBag.Result = message;
                return(View());
            }
        }