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 })); } }