Пример #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            Encheree encheree = db.Encherees.Find(id);

            db.Encherees.Remove(encheree);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #2
0
        public ActionResult Delete(Encheree ench)
        {
            // TODO: Add delete logic here
            var en = db.Encherees.Find(ench.Id);

            db.Encherees.Remove(en);
            db.SaveChanges();
            return(RedirectToAction("GetObjetByUser"));
        }
Пример #3
0
        private Encheree checkEnchere(Encheree offreActuelle, double niveauActuel, bool premiereOffre)
        {
            var   ObjetId = (int)Session["ObjetId"];
            Objet objet   = (Objet)db.Objets.Where(a => a.Id == ObjetId).First();

            newOffre = null;

            //est-ce qu'il y a déjà une o frre placée?
            if (db.Encherees.Where(a => a.ObjetId == ObjetId).Any())
            {
                var offreMax = db.Encherees.Where(a => a.ObjetId == ObjetId).ToList().MaxBy(m => m.niveauMax);

                if (offreActuelle.enchereNiveau >= offreMax.niveauMax)
                {
                    offreActuelle.niveauMax = offreActuelle.enchereNiveau;

                    if (offreActuelle.enchereNiveau != offreMax.niveauMax)
                    {
                        offreActuelle.enchereNiveau = offreMax.niveauMax + 1;
                    }

                    //notifier User ici par email
                    var idUser = offreMax.UserId;

                    /*string subject = " Enchère dépassée";
                     *
                     *  string body = "votre enchère à été dépassée ";
                     *
                     *  Controllers.AccountController.EnvoiMessage(item.User.Email, body, subject);
                     */
                    return(offreActuelle);
                }
                else
                {
                    //Des tests doivent encore etre faits
                    offreActuelle.niveauMax = offreMax.niveauMax;

                    newOffre               = new Encheree();
                    newOffre.niveauMax     = offreMax.niveauMax;
                    newOffre.enchereNiveau = offreActuelle.enchereNiveau + 1;
                    newOffre.UserId        = offreMax.UserId;

                    return(offreActuelle);
                }
            }
            else
            {
                offreActuelle.niveauMax = offreActuelle.enchereNiveau;

                if (offreActuelle.enchereNiveau - objet.objetPrixDepart > 1)
                {
                    offreActuelle.enchereNiveau = objet.objetPrixDepart + 1;
                }
                return(offreActuelle);
            }
        }
Пример #4
0
 public ActionResult Edit([Bind(Include = "Id,enchereNiveau,Message,niveauMax,enchereDate,ObjetId,UserId")] Encheree encheree)
 {
     if (ModelState.IsValid)
     {
         db.Entry(encheree).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ObjetId = new SelectList(db.Objets, "Id", "objetNom", encheree.ObjetId);
     ViewBag.UserId  = new SelectList(db.Users, "Id", "Civilite", encheree.UserId);
     return(View(encheree));
 }
Пример #5
0
        // GET: Encherees/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Encheree encheree = db.Encherees.Find(id);

            if (encheree == null)
            {
                return(HttpNotFound());
            }
            return(View(encheree));
        }
Пример #6
0
        // GET: Encherees/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Encheree encheree = db.Encherees.Find(id);

            if (encheree == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ObjetId = new SelectList(db.Objets, "Id", "objetNom", encheree.ObjetId);
            ViewBag.UserId  = new SelectList(db.Users, "Id", "Civilite", encheree.UserId);
            return(View(encheree));
        }
Пример #7
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());
            }
        }