public static void EditAddressDetails(AddressViewModel vm)
 {
     IoCServiceLocator.Bus.Send(
         new ChangeAddressDetailsCommand(
             vm.AggregateId,
             vm.Version,
             vm.Street,
             vm.Zip,
             vm.Hausnumber,
             vm.City,
             vm.State));
 }
        public ActionResult EditAddress(AddressViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return View(vm);
            }

            if (!this.ÎsAddressDirty(vm))
            {
                return RedirectToAction("Details", new { id = vm.AggregateId });
            }

            CommandStackWorkerService.EditAddressDetails(vm);
            return RedirectToAction("Details", new { id = vm.AggregateId });
        }
 private bool ÎsAddressDirty(AddressViewModel vm)
 {
     var model = QueryStackWorkerService.GetAddressForBankAccount(vm.AggregateId);
     return !model.City.Equals(vm.City.Trim())               ||
            !model.Hausnumber.Equals(vm.Hausnumber.Trim())   ||
            !model.State.Equals(vm.State.Trim())             ||
            !model.Street.Equals(vm.Street.Trim())           ||
            !model.Zip.Equals(vm.Zip.Trim());
 }