Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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);
        }