private void InitState() { var stateDirectory = _fileSystemManager.GetDataDirectoryPath(FileType.State); _stateFilePath = Path.Combine( stateDirectory, string.Format("{0}.{1}", STATE_FILE_NAME, STATE_FILE_EXT)); var stateSubsystems = Application.GetSubsystems <IStateSubsystem>(); _stateDict = new Dictionary <string, StateItem>(stateSubsystems.Count); foreach (var entry in stateSubsystems) { var subsystemName = entry.Key; var subsystem = entry.Value; subsystem.ResetState(false); var subsystemState = subsystem.GetState(); _stateDict[subsystemName] = new StateItem(subsystemName) { Value = subsystemState }; subsystem.StateChanged += StateSubsystem_StateChanged; } }
private void SaveVotingResultProtocolToLocalDir() { try { var filePath = GenerateVotingResultProtocolFilePath( _fileSystemManager.GetDataDirectoryPath(FileType.VotingResultProtocol)); if (!_fileSystemManager.WriteTextToFile( filePath, FileMode.Create, _votingResultProtocolData, true)) { throw new Exception("Не удалось записать данные в файл"); } Logger.LogInfo(Message.VotingResult_SaveVotingResultToLocalDirSucceeded, _votingResultProtocolFileName); } catch (Exception ex) { Logger.LogError( Message.VotingResult_SaveVotingResultToLocalDirFailed, ex, _votingResultProtocolFileName); } }
private bool SetSourceDataFileDescriptor(SourceDataFileDescriptor newSdFileDescriptor) { var oldIsNull = (_sourceDataFileDescriptor == null); if (newSdFileDescriptor == null) { if (oldIsNull) { return(false); } _sourceDataFileDescriptor = null; return(true); } var stateFilePath = Path.Combine( _fileSystemManager.GetDataDirectoryPath(FileType.State), Path.GetFileName(newSdFileDescriptor.FilePath)); _sourceDataFileDescriptor = new SourceDataFileDescriptor( stateFilePath, newSdFileDescriptor.FileSize, newSdFileDescriptor.Uik, _syncManager.LocalScannerSerialNumber); var stateFile = new FileInfo(stateFilePath); if (!stateFile.Exists) { CopySourceDataFile(newSdFileDescriptor, stateFilePath); return(true); } if (_sourceDataFileDescriptor.IsPointToFile(stateFilePath, stateFile.Length)) { return(oldIsNull); } CopySourceDataFile(newSdFileDescriptor, stateFilePath); return(true); }