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); }
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(); }