public async Task <CartResponseModel> GetCheckoutAsync(CartRequestModel requestModel) { CartResponseModel responseModel = new CartResponseModel(); decimal totalPrice = default(decimal); List <int> printedEditionIds = requestModel.CartItemModels.Select(item => item.PrintedEditionId).ToList(); List <PrintedEdition> printedEditions = await _printedEditionRepository.GetRangeByIdAsync(printedEditionIds); foreach (CartItemModel cartItem in requestModel.CartItemModels) { PrintedEdition printedEdition = printedEditions.FirstOrDefault(item => item.Id == cartItem.PrintedEditionId); CheckoutItemModel checkoutItem = new CheckoutItemModel { PrintedEditionId = printedEdition.Id, PrintedEditionName = printedEdition.Name, Quantity = cartItem.Quantity, UnitPrice = printedEdition.Price, OrderAmount = printedEdition.Price * cartItem.Quantity }; totalPrice += checkoutItem.OrderAmount; responseModel.CheckoutItemModels.Add(checkoutItem); } responseModel.TotalPrice = totalPrice; return(responseModel); }
public CartResponseModel Response(CartModel cartModel) { CartResponseModel cart = new CartResponseModel(); cart.CartId = cartModel.CartId; cart.UserId = cartModel.UserId; cart.BookId = cartModel.BookId; cart.CreatedDate = cartModel.CreatedDate; return(cart); }
public List <CartResponseModel> GetAllCartValues() { try { List <CartResponseModel> cartResponseList = new List <CartResponseModel>(); var cartResponse = this.dbContext.Cart; foreach (var response in cartResponse) { CartResponseModel cart = new CartResponseModel(); if (response.IsDeleted == "No") { cart = Response(response); cartResponseList.Add(cart); } } return(cartResponseList); } catch (Exception e) { throw new Exception(e.Message); } }