public async Task <IActionResult> ApplyCoupon([FromBody] ApplyCouponForm model) { var currentUser = await _workContext.GetCurrentUser(); var cart = await _cartService.GetActiveCart(currentUser.Id); if (cart == null) { return(NotFound()); } if (cart.LockedOnCheckout) { return(CreateCartLockedResult()); } var validationResult = await _cartService.ApplyCoupon(cart.Id, model.CouponCode); if (validationResult.Succeeded) { var cartVm = await _cartService.GetActiveCartDetails(currentUser.Id); return(Json(cartVm)); } return(Json(validationResult)); }
public async Task <ActionResult> ApplyCoupon([FromBody] ApplyCouponForm model) { var currentUser = await _workContext.GetCurrentUser(); var validationResult = await _cartService.ApplyCoupon(currentUser.Id, model.CouponCode); if (validationResult.Succeeded) { var cart = await _cartService.GetCart(currentUser.Id); return(Json(cart)); } return(Json(validationResult)); }
public async Task <ActionResult> ApplyCoupon(long cartId, [FromBody] ApplyCouponForm model) { var currentUser = await _workContext.GetCurrentUser(); var cart = await _cartService.Query().FirstOrDefaultAsync(x => x.Id == cartId && x.CreatedById == currentUser.Id); if (cart == null) { return(NotFound()); } var validationResult = await _cartService.ApplyCoupon(cart.Id, model.CouponCode); if (validationResult.Succeeded) { var cartVm = await _cartService.GetActiveCartDetails(currentUser.Id); return(Json(cartVm)); } return(Json(validationResult)); }