/// <summary> /// Logic used when the State changes. /// </summary> /// <param name="oldValue">The old State value.</param> protected override void OnStateChanged(ViewModelState oldValue) { base.OnStateChanged(oldValue); Navigation.State = State; switch (State) { case ViewModelState.Idle: CriticalOperationType = CriticalOperationType.None; ModelSearcher?.RequestEnable(_adminToken); break; case ViewModelState.FamilialOperation: case ViewModelState.Restricted: ModelSearcher?.RequestEnable(_adminToken); break; case ViewModelState.NonCriticalOperation: case ViewModelState.CriticalOperation: ModelSearcher?.RequestDisable(_adminToken); break; } }
/// <summary> /// The logic used when a search has been initiated. /// </summary> /// <param name="sender">The initiator of the event. Is used as token.</param> /// <param name="e">The EventArgs of the event.</param> private void Locator_SearchToBegin(object sender, EventArgs e) { ModelSearcher?.RequestDisable(sender); RecordChangeLocker?.RequestLock(sender); }