protected void Dispose(bool disposing)
 {
     if (!disposedValue)
     {
         if (disposing)
         {
             functionRepository.Dispose();
         }
     }
     disposedValue = true;
 }
        protected virtual void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    _functionRepository.Dispose();

                    if (_functionSettingsRepository != null)
                    {
                        _functionSettingsRepository.Dispose();
                    }

                    if (_otherRepository != null)
                    {
                        _otherRepository.Dispose();
                    }
                }
            }

            _disposed = true;
        }