private async Task <List <WishListItemViewModel> > GetWishListItems(IReadOnlyCollection <WishItem> wishItems) { var items = new List <WishListItemViewModel>(); foreach (var item in wishItems) { var itemModel = new WishListItemViewModel { Id = item.Id, UnitPrice = item.UnitPrice, Quantity = item.Quantity, CatalogItemId = item.CatalogItemId, PriceSymbol = item.PriceSymbol, NotifyCasePriceChanges = item.NotifyCasePriceChanges, NotifyWhenAvailable = item.NotifyWhenAvailable, NotifyChoice = item.NotifyChoice, WishDate = item.WishDate }; var catalogItem = await _itemRepository.GetByIdAsync(item.CatalogItemId); itemModel.PictureUrl = _uriComposer.ComposePicUri(catalogItem.PictureUri); itemModel.ProductName = catalogItem.Name; items.Add(itemModel); } return(items); }
public async Task <IActionResult> AddToWhishList(WishListItemViewModel model, int id) { var wishList = mapper.Map <WishListItemViewModel, WishListDTO>(model); wishList.ProductId = id; wishList.UserId = User.FindFirstValue(ClaimTypes.NameIdentifier); await wishListService.AddToWhishList(wishList); return(RedirectToAction("Index")); }
public async Task <string> AddWishItemAsync(WishListItemViewModel item) { var dbWishList = _mapper.Map <WishListItem>(item); using (var db = dbContextFactory.CreateDbContext(_appConfig)) { db.WishListItems.Add(dbWishList); var id = await db.SaveChangesAsync(); return(id.ToString()); } }
public async Task UpdateWishItemAsync(WishListItemViewModel item) { using (var db = dbContextFactory.CreateDbContext(_appConfig)) { var dbItem = await db.WishListItems.FindAsync(item.Id); if (dbItem == null) { throw new KeyNotFoundException($"Wish list item with id {item.Id} was not found."); } dbItem.Item = item.Item; await db.SaveChangesAsync(); } }
public async Task <IActionResult> AddItem([FromBody] WishListItemViewModel item) { try { if (!ModelState.IsValid) { return(BadRequest(item)); } var itemId = await _wishListRepo.AddWishItemAsync(item); return(Ok(new { id = itemId })); } catch (Exception ex) { var result = Newtonsoft.Json.JsonConvert.SerializeObject(new { error = ex.Message }); Response.ContentType = "application/json"; Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; return(new JsonResult(result)); } }
private async Task <List <WishListItemViewModel> > GetWishListItems(IReadOnlyCollection <WishListItem> wishlistItems) { var items = new List <WishListItemViewModel>(); foreach (var item in wishlistItems) { var itemModel = new WishListItemViewModel { Id = item.Id, CatalogItemId = item.CatalogItemId }; var catalogItem = await _itemRepository.GetByIdAsync(item.CatalogItemId); itemModel.PictureUrl = _uriComposer.ComposePicUri(catalogItem.PictureUri); itemModel.ProductName = catalogItem.Name; items.Add(itemModel); } return(items); }