in src/Modules/SimplCommerce.Module.Orders/Areas/Orders/Controllers/CheckoutController.cs [72:93]
public async Task<IActionResult> Shipping(DeliveryInformationVm model)
{
var currentUser = await _workContext.GetCurrentUser();
// TODO Handle error messages
if ((!model.NewAddressForm.IsValid() && model.ShippingAddressId == 0) ||
(!model.NewBillingAddressForm.IsValid() && !model.UseShippingAddressAsBillingAddress && model.BillingAddressId == 0))
{
PopulateShippingForm(model, currentUser);
return View(model);
}
var cart = await _cartService.GetActiveCart(currentUser.Id);
if (cart == null)
{
throw new ApplicationException($"Cart of user {currentUser.Id} cannot be found");
}
cart.ShippingData = JsonConvert.SerializeObject(model);
await _cartRepository.SaveChangesAsync();
return Redirect("~/checkout/payment");
}