public CustomerDemographicResponse Update(CustomerDemographicUpdateRequest request) { using (var adapter = DataAccessAdapterFactory.NewDataAccessAdapter()) { OnBeforeCustomerDemographicUpdateRequest(adapter, request); var entity = request.FromDto(); entity.IsNew = false; entity.IsDirty = true; if (adapter.SaveEntity(entity, true)) { OnAfterCustomerDemographicUpdateRequest(adapter, request); return(new CustomerDemographicResponse(entity.ToDto())); } } throw new InvalidOperationException(); }