public ActionResult BuyItem([Bind(Include = "ID,MerchantID,PlayerID,PictureID,Name,Rarity,Type,Value,Points")] Item item)
        {
            if (Session["LOGIN"] != null)
            {
                string login = (string)Session["LOGIN"];

                var thisItem = (from i in db.Items
                                where i.ID == item.ID
                                select i).FirstOrDefault();

                var player = (from p in db.Players
                              where p.Email == login
                              select p).FirstOrDefault();

                thisItem.MerchantID = null;
                thisItem.PlayerID   = player.ID;
                player.Credits     -= thisItem.Value;
                player.Score       += thisItem.Points;

                if (ModelState.IsValid)
                {
                    db.Entry(thisItem);
                    db.Entry(player);
                    db.SaveChanges();
                    return(RedirectToAction("MyItems"));
                }
                return(View(item));
            }
            else
            {
                return(Redirect("NotLoggedIn"));
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> PutStop([FromRoute] long id, [FromBody] Stop stop)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != stop.Id)
            {
                return(BadRequest());
            }

            _context.Entry(stop).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StopExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 3
0
        public ActionResult Edit([Bind] Fish fish)
        {
            if (ModelState.IsValid)
            {
                // А иначе эта сволочь (мвц со своей моделью для вьюхи) обнуляла FishId и Fish у SwimmingCharacteristics
                fish.SwimmingCharacteristics.Fish   = fish;
                fish.SwimmingCharacteristics.FishId = fish.FishId;
                // конец возмущенного комментария

                db.Entry(fish).State = EntityState.Modified;
                db.Entry(fish.SwimmingCharacteristics).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.RiverId = new SelectList(db.Rivers, "RiverId", "Name", fish.RiverId);
            return(View(fish));
        }
Exemplo n.º 4
0
 public ActionResult Edit([Bind(Include = "RiverId,Name")] River river)
 {
     if (ModelState.IsValid)
     {
         db.Entry(river).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(river));
 }
Exemplo n.º 5
0
 public void ExplicitLoading()
 {
     using (var context = new WorldContext())
     {
         context.PopulateData();
         var america = context.Continents.Single(c => c.Code == "AM");
         Assert.Null(america.Countries);
         context.Entry(america)
         .Collection(c => c.Countries)
         .Load();
         Assert.Equal(5, america.Countries.Count);
         Assert.Equal("United States", america.Countries.Single(c => c.Code == "US").Name);
     }
 }
Exemplo n.º 6
0
 public void ExplicitLoadingQueryingRelatedEntitites()
 {
     using (var context = new WorldContext())
     {
         context.PopulateData();
         var asia = context.Continents.Single(c => c.Code == "AS");
         Assert.Null(asia.Countries);
         var list = context.Entry(asia)
                    .Collection(c => c.Countries)
                    .Query()
                    .Where(c => c.Name.Contains("i"))
                    .ToList();
         Assert.Equal(2, asia.Countries.Count);
         Assert.Equal(2, list.Count);
         Assert.Equal("China", list.Single(c => c.Code == "CN").Name);
         Assert.Equal("India", list.Single(c => c.Code == "IN").Name);
     }
 }