/// <summary> /// Activate our public API facade /// </summary> protected void ActivateFacade(IFacadeControl facade) { // First activation if (facade.ValidateHealthState == null) { facade.ValidateHealthState = ValidateHealthState; } FillProperties(facade, FillProperty); facade.Activate(); _activeFacades.Add(facade); }
/// <summary> /// Deactivate our public facade /// </summary> protected void DeactivateFacade(IFacadeControl facade) { if (!_activeFacades.Contains(facade)) { return; } facade.Deactivate(); FillProperties(facade, (a, b) => null); _activeFacades.Remove(facade); var lifeCycleBoundFacade = facade as ILifeCycleBoundFacade; lifeCycleBoundFacade?.Deactivated(); }