public ActionResult ChangeAddress(CheckoutPage currentPage, UpdateAddressViewModel addressViewModel)
 {
     ModelState.Clear();
     try
     {
         var viewModel = CreateCheckoutViewModel(currentPage);
         viewModel.BillingAddress = _addressBookService.ConvertToModel(CartWithValidationIssues.Cart.GetFirstForm()?.Payments.FirstOrDefault()?.BillingAddress);
         _addressBookService.LoadAddress(viewModel.BillingAddress);
         _checkoutService.CheckoutAddressHandling.ChangeAddress(viewModel, addressViewModel);
         _checkoutService.ChangeAddress(CartWithValidationIssues.Cart, viewModel, addressViewModel);
         _orderRepository.Save(CartWithValidationIssues.Cart);
         return(Json(new { Status = true }));
     }
     catch (Exception e)
     {
         return(Json(new { Status = false, Message = e.Message }));
     }
 }