public IActionResult Get(string set) { var service = new SetService(); var setData = service.Find(set); var cards = _context.CardItems.Where(x => x.SetName == setData.Value.Name); var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); if (userId != null) { var inventoryItems = _context.InventoryItems.Where(x => x.UserId == userId); var data = from c in cards join i in inventoryItems on c.Id equals i.Id into ci from pos in ci.DefaultIfEmpty() select new CardItemViewData { Id = c.Id, Name = c.Name, ManaCost = c.ManaCost, ImageUrl = c.ImageUrl, InInventory = pos != null }; var model = new CardItemViewModel { Items = data }; return(Json(model)); } else { var data = cards.ProjectToType <CardItemViewData>(); var model = new CardItemViewModel { Items = data }; return(Json(model)); } }
public void FindTest() { var setDto = new SetDto() { Block = "block1", Booster = new object[2] { new JValue("booster1"), new JArray() { new JValue("booster2"), new JValue("booster3"), new JArray() { new JValue("booster4"), new JValue("booster5") } } }, Border = "border1", Code = "code1", Expansion = "expansion1", GathererCode = "gathererCode1", MagicCardsInfoCode = "magicCardsInfoCode1", Name = "name1", OldCode = "oldCode1", OnlineOnly = true, ReleaseDate = "2016, 1, 1" }; // Test the FindAsync method. var moqAdapter = new Mock <IMtgApiServiceAdapter>(); moqAdapter .SetupSequence(x => x.WebGetAsync <RootSetDto>(It.IsAny <Uri>())) .Throws <ArgumentNullException>() .Throws(new MtgApiException <BadRequestException>("bad request")) .Throws(new MtgApiException <ForbiddenException>("forbidden")) .Throws(new MtgApiException <InternalServerErrorException>("server error")) .Throws(new MtgApiException <NotFoundException>("not found")) .Throws(new MtgApiException <ServiceUnavailableException>("unavailable")) .Throws <Exception>() .ReturnsAsync(new RootSetDto() { Set = setDto }); var service = new SetService(moqAdapter.Object, ApiVersion.V1_0, false); var result = service.Find("code1"); Assert.False(result.IsSuccess); Assert.Equal("Value cannot be null.", result.Exception.Message); result = service.Find("code1"); Assert.False(result.IsSuccess); Assert.Equal("bad request", result.Exception.Message); result = service.Find("code1"); Assert.False(result.IsSuccess); Assert.Equal("forbidden", result.Exception.Message); result = service.Find("code1"); Assert.False(result.IsSuccess); Assert.Equal("server error", result.Exception.Message); result = service.Find("code1"); Assert.False(result.IsSuccess); Assert.Equal("not found", result.Exception.Message); result = service.Find("code1"); Assert.False(result.IsSuccess); Assert.Equal("unavailable", result.Exception.Message); result = service.Find("code1"); Assert.False(result.IsSuccess); Assert.IsType <Exception>(result.Exception); result = service.Find("code1"); Assert.True(result.IsSuccess); Assert.Null(result.Exception); Assert.NotNull(result.Value); }