public async Task <ActionResult> Order(PurchaseViewModel purchaseModel) { // Insert new Customer into databse Customer customer = EntityFactory.CreateCustomer(purchaseModel.Customer.FullName, purchaseModel.Customer.Email, purchaseModel.Customer.PhoneNumber, purchaseModel.Customer.Address); var result1 = await this.m_orderService.AddCustomerAsync(customer); var products = await m_orderService.GetProductsAsync(); // Loading to model PurchaseViewModel model = new PurchaseViewModel(products); if (ModelState.IsValid) { //Change PurchaseViewModel to OrderDetailModel var orderDetail = purchaseModel.MapToOrderDetail(); var counpond = await m_couponCodeManager.GetCouponCodeByIdAsync(orderDetail.CouponCodeId); // Check if coupon code is existed var result = ServiceResult.Success; if (counpond == null) { //Add OrderDetail to Cart result = await m_orderService.AddToCartAsync(customer.Id, orderDetail.HepaProductId, orderDetail.NumberOfItems, null, orderDetail.KindOfPurchase); } else { //Add OrderDetail to Cart if (counpond.SaleOffAmount > 0) { result = await m_orderService.AddToCartAsync(customer.Id, orderDetail.HepaProductId, orderDetail.NumberOfItems, orderDetail.CouponCodeId, orderDetail.KindOfPurchase); await m_couponCodeManager.DecreasingUsageAmountAsync(orderDetail.CouponCodeId); } else { result = await m_orderService.AddToCartAsync(customer.Id, orderDetail.HepaProductId, orderDetail.NumberOfItems, null, orderDetail.KindOfPurchase); } } if (result == ServiceResult.Success) { TempData["SuccessfulMessage"] = "Bạn đã đặt hàng thành công!"; return(RedirectToAction("Order", "Order")); } else { ViewBag.OrderErrorMessage = result.Error; return(View(model)); } } return(View(model)); }
public async Task <ActionResult> Delete(string id) { var model = await m_couponCodeManager.GetCouponCodeByIdAsync(id); return(View(model)); }