//-- Event Handlers #endregion //--------------------------------------------------------------------- #region Methods private void HandleNewFhemObject(FhemObject a_fhemObject, IFhemService a_fhemService, IRegionManager a_regionManager) { //-- First of all create a view model for the Fhem object var fhemObjectViewModel = new FhemObjectViewModel(a_fhemObject, a_fhemService, a_regionManager, m_applicationService); //-- Add the view model to the public collection m_fhemObjectsCollection.Add(fhemObjectViewModel); //-- Add a link between the Fhem object and its view model to the private index m_fhemObjectViewModelsByFhemObjects.Add(a_fhemObject, fhemObjectViewModel); }
/// <summary> /// Raises the 'FhemObjectNameEditingStart' event. /// </summary> /// <param name="a_fhemObjectViewModel"> /// The affected <see cref="FhemObjectViewModel"/>. /// </param> internal void RaiseFhemObjectNameEditingStartEvent(FhemObjectViewModel a_fhemObjectViewModel) { this.FhemObjectNameEditingStart?.Invoke(this, new FhemObjectViewModelEventArgs(a_fhemObjectViewModel)); }
//-- Properties #endregion //--------------------------------------------------------------------- #region Constructors /// <summary> /// Initializes a new instance of the FhemObjectViewModelEventArgs /// class. /// </summary> /// <param name="a_fhemObjectViewModel"> /// The Fhem object view model. /// </param> public FhemObjectViewModelEventArgs(FhemObjectViewModel a_fhemObjectViewModel) : base() { //-- Initialize properties this.FhemObjectViewModel = a_fhemObjectViewModel; }