/// <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); }
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!"); } }
public async Task DeleteAsync(IDataFactory dataFactory, ICacheRepository cacheRepository, ItemDataModel itemDataModel) { await cacheRepository.DeleteAsync(itemDataModel.SiteId); await DeleteRecursiveAsync(_businessModuleFactory, dataFactory, cacheRepository, itemDataModel); }