Пример #1
0
        private string BuyItem(int?itemId, int?ninjaId)
        {
            Item         itemToBuy = _db.Items.Find(itemId);
            List <Ninja> ninjas    = _db.Ninjas.Include("itemOfNinjas").ToList();
            Ninja        ninja     = ninjas.Where(n => n.Id == ninjaId).First();

            if (ninja.itemOfNinjas.Count() != 0)
            {
                foreach (var item in ninja.itemOfNinjas)
                {
                    var tempItem = _db.Items.Find(item.ItemId);
                    if (tempItem.CategoryId == itemToBuy.CategoryId)
                    {
                        return("Cannot buy this item: Already have a Item of this kind!");
                    }
                }
            }
            ItemOfNinja connection = new ItemOfNinja {
                NinjaId = ninja.Id, ItemId = itemToBuy.Id
            };

            if (ninja.Gold - itemToBuy.Value < 0)
            {
                return("Cannot buy this item: Not enough gold!");
            }
            ninja.Gold -= itemToBuy.Value;
            _db.ItemOfNinjas.Add(connection);
            _db.SaveChanges();
            return(null);
        }
Пример #2
0
        private void SellItem(int?itemId, int?ninjaId)
        {
            Item        itemToSell = _db.Items.Find(itemId);
            Ninja       ninja      = _db.Ninjas.Find(ninjaId);
            ItemOfNinja connection = _db.ItemOfNinjas.Where(i => i.ItemId == itemId && i.NinjaId == ninjaId).First();

            ninja.Gold += itemToSell.Value;
            _db.ItemOfNinjas.Remove(connection);
            _db.SaveChanges();
        }