コード例 #1
0
        /// <summary>
        /// Deletes the specified book identifier from  cart.
        /// </summary>
        /// <param name="bookId">The book identifier.</param>
        /// <param name="userId">The user identifier.</param>
        /// <returns>Boolean result in 1/0 format</returns>
        public async Task <int> Delete(int bookId, int userId)
        {
            int result = await _repository.Delete(bookId, userId);

            await _cacheRepository.DeleteAsync(userId.ToString(), bookId);

            return(result);
        }
コード例 #2
0
        public async Task <OrderResponseDto> Add(OrderRequestDto orderRequest, int userId)
        {
            try {
                var guid = Guid.NewGuid();
                OrderResponseDto order = await _repository.Add(userId, orderRequest.bookId, orderRequest.quantity, orderRequest.addressId, guid.ToString());

                await _cacheRepository.DeleteAsync(userId.ToString(), orderRequest.bookId);

                Message message = new Message(new string[] { order.User.Email },
                                              "Order successfully placed!",
                                              $"{_emailItems.ItemDetailHtml(order.Book.Title, order.Book.Author, order.Book.Image, order.Book.Price, order.Book.Quantity)+ _emailItems.OrderDetailHtml(order.OrderId, order.OrderedDate, order.Book.Price)}");
                _mqServices.AddToQueue(message);
                return(order);
            }
            catch (SqlException e) when(e.Number == SqlErrorNumbers.CONSTRAINT_VOILATION)
            {
                throw new BookstoreException("Invalid user!");
            }
        }
コード例 #3
0
        public async Task DeleteAsync(IDataFactory dataFactory, ICacheRepository cacheRepository, ItemDataModel itemDataModel)
        {
            await cacheRepository.DeleteAsync(itemDataModel.SiteId);

            await DeleteRecursiveAsync(_businessModuleFactory, dataFactory, cacheRepository, itemDataModel);
        }