public IOStateChange(EIOState State, Exception Exception = null)
        {
            this.State     = State;
            this.Exception = Exception;

            Core.Diagnostics.Log(this);
        }
        protected void InvokStatusChanged(EIOState EIOState, Exception Exception = null)
        {
            _Status = EIOState;

            IOStateChange IOSC = new IOStateChange(EIOState, Exception);

            OnStatusChanged?.Invoke(this, IOSC);
        }
        public void UpdateServersList( )
        {
            try
            {
                _ProcessSQLServerProviders( );

                Status = (_ICP4SecurityServers.Count > 0) ? EIOState.Fallback
                                                            : EIOState.Empty;

                _InvokeDataLoaded(ELoadingState.Completed);
            }
            catch (Exception Ex)
            {
                Status = (_ICP4SecurityServers.Count > 0) ? EIOState.Fallback
                                                            : EIOState.Empty;

                _InvokeDataLoaded((Status == EIOState.Empty) ? ELoadingState.Failed : ELoadingState.Partial, Ex);
            }
        }
 private void _InvokStatusChanged(EIOState EIOState, Exception Exception = null)
 {
     _Status = EIOState;
     OnStatusChanged?.Invoke(this, new IOStateChange(EIOState, Exception));
 }