Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 3
0
        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());
            }
        }
Exemplo n.º 4
0
        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));
            }
        }
Exemplo n.º 6
0
        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);
        }