private static void UpdateFirstDeviceInfoInStorage(IDeviceInformationStorage storage) { Log("Попробуем обновить информацию об устройстве"); var firstDevInfo = storage.DeviceInformations.First(); storage.Update(firstDevInfo.Id, "Электровоз", "2"); }
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, "Внимание, репозиторий уже открыт"))); } }
public Locomotive(string name, IWorker <Action> backWorker, IDeviceInformationStorage backSotrage) { Name = name; _backWorker = backWorker; _backSotrage = backSotrage; Sections = new ObservableCollection <ISection>(); }
public ReposetoryOpenedResultSimple(IPsnDataStorage psnDataStorage, IPsnDataInformationStorage psnDataInformationStorage, IDeviceInformationStorage deviceInformationStorage, IPsnDataCustomConfigurationsStorage psnDataCustomConfigurationsesStorage, IStorage <IPsnProtocolConfiguration> psnConfigurationsStorage) { _psnDataStorage = psnDataStorage; _psnDataInformationStorage = psnDataInformationStorage; _deviceInformationStorage = deviceInformationStorage; _psnDataCustomConfigurationsesStorage = psnDataCustomConfigurationsesStorage; _psnConfigurationsStorage = psnConfigurationsStorage; }
public Section(IUid deviceInformationId, string name, IWorker <Action> backWorker, IDeviceInformationStorage backStorage) { _deviceInformationId = deviceInformationId; _name = name; _backWorker = backWorker; _backStorage = backStorage; Faults = new ObservableCollection <IFaultLog>(); Psns = new ObservableCollection <IPsnLog>(); }
private static void ClearStorage(IPsnDataStorage storage, IDeviceInformationStorage devstorage) { var logs = storage.PsnDatas.ToList(); foreach (var psnLog in logs) { storage.Remove(psnLog.Id); Log("Лог удален из хранилища"); } var devInfos = devstorage.DeviceInformations.ToList(); foreach (var deviceInformation in devInfos) { devstorage.Remove(deviceInformation.Id); Log("Информация об устройстве удалена из хранилища"); } }
private static void SaveLogsToStorage(IPsnDataStorage srcPsnStorage, IDeviceInformationStorage srcDevInfoStorage, IPsnDataStorage dstPsnStorage, IDeviceInformationStorage dstDevInfoStorage) { Log("Локальное хранилище создано, число ПСН логов в хранилище: " + dstPsnStorage.PsnDatas.Count()); var devInfosInStorage = srcDevInfoStorage.DeviceInformations.ToList(); var psnLogsInStorage = srcPsnStorage.PsnDatas.ToList(); Log("Число информаций об устройстве на устройстве: " + devInfosInStorage.Count); foreach (var devInfo in devInfosInStorage) { if (!dstDevInfoStorage.DeviceInformations.Any(i => i.Name == devInfo.Name && i.Description == devInfo.Description)) { dstDevInfoStorage.Add(devInfo.Id, devInfo.Name, devInfo.Description); Log("Информация об устройстве сохранена в локальное хранилище"); } else { Log("Такая информация об устройстве уже есть в локальном харинилище"); } } Log("Число ПСН логов на устройстве: " + psnLogsInStorage.Count); foreach (var psnLog in srcPsnStorage.PsnDatas) { //Console.WriteLine("PsnLog " + psnLog.LogInformation.BeginTime.ToString()); if (!dstPsnStorage.PsnDatas.Any(pl => pl.Id.ToString() == psnLog.Id.ToString())) { dstPsnStorage.Add(psnLog.Id, psnLog, pp => Console.WriteLine(pp.ToString("f2"))); Log("Лог сохранен в локальное хранилище"); } else { Log("Такой лог уже есть в локальном хранилище"); } } Log("Число ПСН логов в хранилище после сохранения: " + dstPsnStorage.PsnDatas.Count()); }
public DeviceInformationStorageRelayMemoryCache(IDeviceInformationStorage relayOnStorage) { _relayOnStorage = relayOnStorage; _deviceInformations = _relayOnStorage.DeviceInformations.Select(di => (IDeviceInformationWritable) new DeviceInformationSimple(di.Name, di.Description, di.Id)).ToList(); }