public async Task ApplyCouponTheCart(Guid id, ApplyCouponRequest request) { var json = JsonConvert.SerializeObject(request); var content = new StringContent(json, Encoding.UTF8, "application/json"); await client.PostAsync(new Uri($"/cart/id/{id}/apply-coupon", UriKind.Relative), content); }
public async Task <IActionResult> ApplyCouponAsync(ApplyCouponRequest model, CancellationToken token) { try { var userId = _userManager.GetLongUserId(User); var command = new ApplyCouponCommand(model.Coupon, userId, model.TutorId); await _commandBus.DispatchAsync(command, token); return(Ok(new { Price = command.NewPrice })); } catch (ArgumentException) { return(BadRequest("Invalid Coupon")); } catch (DuplicateRowException) { return(BadRequest("This coupon already in use")); } }