/// <summary> /// Registers the view model to the <see cref="AuditingManager"/>. /// <para /> /// This helper will automatically unsubscribe from all events when the view model is closed. /// </summary> /// <param name="viewModel">The view model to register.</param> /// <remarks> /// This helper will call the <see cref="AuditingManager.OnViewModelCreating"/> and <see cref="AuditingManager.OnViewModelCreated"/> /// automatically. /// </remarks> /// <exception cref="ArgumentNullException">The <paramref name="viewModel" /> is <c>null</c>.</exception> public static void RegisterViewModel(IViewModel viewModel) { Argument.IsNotNull("viewModel", viewModel); AuditingManager.OnViewModelCreating(viewModel.GetType()); SubscribeEvents(viewModel); AuditingManager.OnViewModelCreated(viewModel.GetType()); }
/// <summary> /// Registers the view model to the <see cref="AuditingManager"/>. /// <para /> /// This helper will automatically unsubscribe from all events when the view model is closed. /// </summary> /// <param name="viewModel">The view model to register.</param> /// <remarks> /// This helper will call the <see cref="AuditingManager.OnViewModelCreating"/> and <see cref="AuditingManager.OnViewModelCreated"/> /// automatically. /// </remarks> /// <exception cref="ArgumentNullException">The <paramref name="viewModel" /> is <c>null</c>.</exception> public static void RegisterViewModel(IViewModel viewModel) { Argument.IsNotNull("viewModel", viewModel); var isAuditingEnabled = AuditingManager.IsAuditingEnabled; if (isAuditingEnabled) { AuditingManager.OnViewModelCreating(viewModel.GetType()); } SubscribeEvents(viewModel); if (isAuditingEnabled) { AuditingManager.OnViewModelCreated(viewModel); } }