Exemplo n.º 1
0
        public void Open(Action <OnCompleteEventArgs> onComplete, Action <OnProgressChangeEventArgs> onProgressChange)
        {
            _uiNotifier.Notify(() => onProgressChange(new OnProgressChangeEventArgs(0)));
            if (!IsOpened)
            {
                IsOpened = true;
                _backWorker.AddWork(
                    () => {
                    try {
                        var openResult                      = _openStorageFunc();
                        _psnDataStorage                     = openResult.PsnDataStorage;
                        _psnDataInformtationStorage         = openResult.PsnDataInformationStorage;
                        _psnDataCustomConfigurationsStorage = openResult.PsnDataCustomConfigurationsesStorage;
                        _deviceInformationStorage           = openResult.DeviceInformationStorage;
                        _psnConfigurationsStorage           = openResult.PsnConfigurationsStorage;
                        InitialTreeBuildUnsafe(pp => _uiNotifier.NotifyAndWait(() => onProgressChange(new OnProgressChangeEventArgs((int)pp))));

                        _uiNotifier.NotifyAndWait(() => onProgressChange(new OnProgressChangeEventArgs(100)));
                        _uiNotifier.NotifyAndWait(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Ok, "Репозиторий успешно открыт")));
                    }
                    catch (Exception ex) {
                        _uiNotifier.NotifyAndWait(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Error, ex.ToString())));
                        IsOpened = false;
                    }
                });
            }
            else
            {
                _uiNotifier.Notify(() => onProgressChange(new OnProgressChangeEventArgs(100)));
                _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Ok, "Внимание, репозиторий уже открыт")));
            }
        }
Exemplo n.º 2
0
 public ReposetoryOpenedResultSimple(IPsnDataStorage psnDataStorage, IPsnDataInformationStorage psnDataInformationStorage, IDeviceInformationStorage deviceInformationStorage, IPsnDataCustomConfigurationsStorage psnDataCustomConfigurationsesStorage, IStorage <IPsnProtocolConfiguration> psnConfigurationsStorage)
 {
     _psnDataStorage                       = psnDataStorage;
     _psnDataInformationStorage            = psnDataInformationStorage;
     _deviceInformationStorage             = deviceInformationStorage;
     _psnDataCustomConfigurationsesStorage = psnDataCustomConfigurationsesStorage;
     _psnConfigurationsStorage             = psnConfigurationsStorage;
 }
 public PsnDataInformationStorageRelayMemoryCache(IPsnDataInformationStorage relayOnStorage)
 {
     _relayOnStorage      = relayOnStorage;
     _psnDataInformations = relayOnStorage.PsnDataInformations.ToList();             // TODO: check lazy way out
 }